[Global] Major cleanup

* Organize imports
* Fix a lot of things
* Fix #234
[Global] Switch from tabs to 4-spaces