Refactoring.
Refactoring (cont.)
Refactoring.