Refactoring: fourth stage.
Refactoring: fifth stage.