working on the routing mechanism