fixed slow parsing caused by too many backtracking

fixes #23