OOP ftw