caching revisited for better results