Adding caching of partial results