update event delegation