refactoring project 45