clean up
type events are now extensible