Add listener routine, clean up