switch from using .on to .listenTo