Assignment 3 - OOP