Misc refactoring + camera breaking