LinkInterface rewrite plus unit tests