code: func NewClient(clientConfig ClientConfig) *Client {
  	client := &Client{
  		ClientConfig: clientConfig,
  	}
  
  	// If reader is nil use default rand.Reader
  	if clientConfig.Reader == nil {
  		client.Reader = rand.Reader
  	}
  
  	// If hash is nil use default sha256
  	if clientConfig.Hash == nil {
  		client.Hash = sha256.New()
  	}
  
  	return client
  }
docs: // NewClient creates new client from provided config and reader