sm caches listener