refactor things into their own project