add cache for smartcache instead of storing in memory