add CachingService; make multiple interceptors work