implement block namespacing, tidy up parser a bit, remove some S/R conflicts