added caching support for solutions