update event queuing and processing
update events: cycle detection (with bug)