refactoring some things and added some files to .gitgnore