OOPed the project