Started implementing base classes