Copyright (c) Hartmut Bohn 1991-2010