Routing logic moved in dispatcher