fix events to be more generic