start work on event system how do :(