fix: restore nested while loop for parse