mv the linker to a separate ns
add a parser fn