changed: Refactor so 2 sub caches can be used