add one token lookahead implementation