Finishing implementing the object oriented approach. Getting ready for
testing the new changes.