feat(routing): recursively add routs

@crazyscouter 
@TrinityX 
please review routing rewrite.