updated upfuncs