making it a bit easier to import caches
little by little, making cache more flexible
unit tests for caching utilities