add caching to store index