def load(config_file: default_config_file, passwords_key: nil, required: [])
      create_empty_file(config_file) if !File.exists?(config_file)

      configuration = ParseConfig.new(config_file)

      enforce_required_keys(configuration.params, required)

      convert_to_cool_format(OpenStruct.new, configuration.params, passwords_key)
    end
def load(config_file: default_config_file, passwords_key: nil, required: [])
      create_empty_file(config_file) if !File.exists?(config_file)

      configuration = ParseConfig.new(config_file)

      enforce_required_keys(configuration.params, required)

      convert_to_cool_format(OpenStruct.new, configuration.params, passwords_key)
    end
`required`: list of strings. this currently support only keys outside a group; group names
             are not considered keys.