moved a bunch of stuff around for better file structure
ridiculous make work to compile from wherever