Refactoring towards OOP layout