adding CacheService (in progress)