another try at the event system