Refactoring, part 1
Refactoring, part 2