initial version recovered from wiki.zope.org/ZPT/