update funcs