factors out LinkParser class