refactoring 9