caching solve