Huge git refactoring - PLEASE DONT BREAK