Joachims Beitrag. Noch nicht kompiliert, kann daher also Fehler enthalten