fix breaking (removes listeners after they trigger)