Fixed all the things, everything compiles and is mostly usable