base class stucture