erster Versuch, funktioniert soweit. Überarbeitung notwendig :D