add CacheLayer class