update function part