cleaning it up, circumventing the event model for the moment