emit events for update