request new run if returned run is out of tolerance
if all returned runs are out of tolerance then return run with min error
reduce number of route requests
keep track of leg order