Modified project to use oop