update some functions, eliminate some that are unchanged from parent
wrap instead of redefine