code: func NewClient(host string, port uint, passwd string, timeout int) (*Client, error) {
  	client := Client{
  		Proto:   "tcp", // Let me know if you ever need this open up lol
  		Addr:    net.JoinHostPort(host, strconv.Itoa(int(port))),
  		Passwd:  passwd,
  		Timeout: timeout,
  	}
  
  	err := client.EstablishConnection()
  	if err != nil {
  		return nil, err
  	}
  
  	err = client.Authenticate()
  	if err != nil {
  		client.Close()
  		return nil, err
  	}
  
  	return &client, nil
  }
docs: // NewClient - Will initiate new client that will establish connection and attempt to authenticate
  // against connected freeswitch server