add in some unit tests.  need to be updated to deal with parser state and interchangeable inner type