change to event model