Almost entirely coded by Tom Lechner.

Contributions from:
Helge Kreutzmann
