re-broke the code for ambiguous parsing