change way of listener