cleanup
fix parser failing on empty nodes
refactor to store production only once
fix parser failing on nodes with the same boundaries