update data funcs