Refactoring part 3 - last.