// the virtual functions which may/must be overridden in the derived class
// -----------------------------------------------------------------------
// the virtual functions which may/must be overridden in the derived class
// -----------------------------------------------------------------------