Object Oriented Programming - Assignment 2 at McMaster University