link refactoring