implement caching and don't report bad roads