moved a whole bunch of domain-specific code into event_diary