replaced on -> once, and removed listenners