new routing internals