Updated to use lookahead