extension of the API of update()