Much better project structure

That's all I'm gonna say here really. ;-)
Merge branch 'better-structure'