OO refactoring