change way to put callback listener.