added a cached map provider, which is way faster than the regular provider