update function own