more robust path computation