refactoring part 5