fix rendering combinator
Add error recovery
add tests
organize grammar