Big refactoring... Adding new files