Added a ton of class shit, also probably borked some .gitignore stuff