final version for link_method