behavior update()