support for a recursive grammar working
some setup for more complex ops
update parser