Course Project for OOP