interval base class