refactoring a whole project