several member vars and funcs moved to base class