base class work