added update()