add and update event