progress on grammar, can not handle trivial cases