add link generator

finish link generator
TODO: add route generator