initial 'good-enough' implementation of optional values and nested values.  arrays still TBD