event system revamp, does not build