Note: a lot of what's in here is experimental stuff, that I worked on for a while and then dropped. Some is other people's stuff copied verbatim. Nothing is guaranteed to work. Use any of it at your own risk, and be sure to observe the licensing terms if any -- jc at unternet dot net