change logic eventlistener