unified member names, removed pure virtual funcs