Added a whole bunch of stuff and broke some other stuff