fixed listener