more api work, including adding event types to api
added event info data structure and low-level api