base class development