main author:   Tomas Carnecky
bug fixes/maintainance:
               Kai-Uwe Behrmann <www.behrmann.name>
