initial implementation for domains and caches