OOP refactoring.