prevent memory leaks with listenTo/stopListening