change hit to return optionV}
build caches in terms of other caches
tests work with new companion objects