New parser implementation