Add caching capability, remove struct results for hash results