big link refactor