nondeterministic parser seems to be working