v0.03: OOP refactoring