I do not expect anyone is going to come looking at this right now (or possibly ever) but all code here is currently shamelessly ripped off of PumaDiAce