update function assin*