refactors listener.