move update event down to controller