modify listener