settings class complete, aside from comments being lost when the config is updated from the default