OOP skeleton