kleine überarbeitung und neue klassen hinzufgefügt