add caching for map services