refactoring 5