Classical OOP homework