Code refactor

Schaut mal, hab alles ein wenig überarbeitet und etliche Bugs gefixed.