did some work on the Event system