Huge refactoring, WIP 4
Compiles :)
Huge refactoring, WIP 5
Huge regactoring, WIP 6
Huge refactoring, WIP 7