code: func NewClient(config *Config) (*Client, error) {
  	// bootstrap the config
  	defConfig := DefaultConfig()
  
  	if len(config.Address) == 0 {
  		config.Address = defConfig.Address
  	}
  
  	if len(config.Scheme) == 0 {
  		config.Scheme = defConfig.Scheme
  	}
  
  	if config.HttpClient == nil {
  		config.HttpClient = defConfig.HttpClient
  	}
  
  	client := &Client{
  		config: *config,
  	}
  	return client, nil
  }
docs: // NewClient returns a new client