added some exception classes and am looking into annotating the tree with parse tree properties...
for real now