no need to unlisten on purge