Object Oriented Redesing DONE