Added a bunch of stuff, code is working