refactor link expander