basic config framework, use ENV with YAML to fill in gaps