add listener.dispatch