Sorry, I see that my words were ambiguous: it's not my implementation. I just took the existing pLucid implementation (which wasn't working) and banged on it until it worked again.