Adding OOP