require base class