refactoring 7