OOP Assignment 2