refactoring, part 1