Updated implementation by routing.