complete link function (not tested)