OOP2 Course Project Phase1