refactoring, part 4