refactor Linker