use one service to cache and another to perform network op