Ein paar Gedanken zur Realisierung gemacht.

 * Code etwas strukturiert
 * Kommentare an unklaren Stellen eingefügt