first pass at configuration file parsing framework