fixed listener bug