Q2 - OOP solution