fixed und die meisten redundanzen entfernt