starting on refactoring
reorganizing some stuff
merge