Refactoring.
Refactoring part2.