here is the drawback to add/remove event listener dynamically, you forget to remove event listener. :(