updated caching strategy a little