tidy up event model