Refactored some code and started to implement the base class methods.