add try and lookAhead