add Update function