Use ordereddict to maintain route discovery order