and listener