Implemented a whole shitload of stuff