Contains the code I sent round privately to a few people a while back.
As I mentioned in my first message it has a few things that I would
change, but since it has been mentioned a few times in this thread
I thought I had better distribute that form.
Please don't *use* this package in its current form!!!