update and reflection