worked on the event system a bit