define base classes and their interface