Fixed a lot of Problems and coverd alot by tests
Squashed commit of the following:

commit f2cab22ef3c6628e92ab02bfd1a10b7afd7f5dc0
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Sat Nov 30 12:54:25 2013 +0100

    looks very good now

commit 4a43eb6ce8b067f38113a18b1e433eb3f248f5b9
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Sat Nov 30 12:49:53 2013 +0100

    bitch i fuck you in the ass

commit bfbf59d2c5c11fcc515c85330864bbfade605f0f
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Sat Nov 30 12:33:46 2013 +0100

    for some reason its still fucked up

commit cc1d9a87839768a841f2ef93b7a3044047593f3e
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Sat Nov 30 12:00:31 2013 +0100

    renaming and shit

commit d602782bd3993f5c14ff48a68a1650130526065d
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Thu Nov 28 10:25:19 2013 +0100

    add some moar tests

commit 7453c077c3f47d776d1e5746718aa5fd0f33d623
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Thu Nov 28 10:10:17 2013 +0100

    add some moar tests

commit 21e47e17b1d4833a29e210096a9e2df5ae449b11
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Thu Nov 28 10:02:23 2013 +0100

    better

commit 40cf8fa5302bab069da1e55875a1b8be556468f8
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Thu Nov 28 09:51:44 2013 +0100

    looks better now

commit 43fbd0e40d7b2ba873645df624f07a39cf334867
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Thu Nov 28 08:01:07 2013 +0100

    moar tests fail

commit b1a1e645b65e03e60eeadc1661fbd74ac67e1a27
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Wed Nov 27 11:59:15 2013 +0100

    next test that fucks everything up

commit edd27cb4269a70efa91d93bdb185df48681ae669
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Wed Nov 27 11:27:45 2013 +0100

    good

commit 2f63cd6845ee6f05c1d971a99a12ee6993dbfcf5
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Wed Nov 27 11:25:42 2013 +0100

    new errors found

commit 454f73357e8b580c1915f773df36d445d931b00f
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Wed Nov 27 09:25:22 2013 +0100

    next todo s written

commit 94f5de4368af5238ba86d1d128ab62e6a5d18f22
Author: Ingolf Wagner <palipalo9@googlemail.com>
Date:   Wed Nov 27 09:19:35 2013 +0100

    commented stuff