implemented link behavior