private void addCon_Click(object sender, EventArgs e)
        {
            //build the proxy for our xmlrpc interface
            iFace proxy = XmlRpcProxyGen.Create <iFace>();


            //Make sure our text boxes are not null.
            if (fName.Text != null && lName.Text != null && eMail.Text != null)
            {
                //Create a struct to hold the contact records data
                XmlRpcStruct conDat = new XmlRpcStruct();
                conDat.Add("FirstName", fName.Text);
                conDat.Add("LastName", lName.Text);
                conDat.Add("Email", eMail.Text);

                //make the call to add the contact.
                try
                {
                    result        = proxy.Add(key, conDat);
                    Results.Text += "Contact added - ID: " + result + System.Environment.NewLine;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }


                //now we will add the contact to any groups or campaigns that were checked.
                //if we wanted to we could check if the calls return true/false to determine output.
                try
                {
                    if (news1.Checked)
                    {
                        //news1 is checked so add it to the correct group ID.
                        proxy.AddGrp(key, result, 91);
                        Results.Text += "Contact " + result + " added to group 91" + System.Environment.NewLine;
                    }
                    if (news2.Checked)
                    {
                        //news2 is checked so add it to the correct group ID.
                        proxy.AddGrp(key, result, 92);
                        Results.Text += "Contact " + result + " added to group 92" + System.Environment.NewLine;
                    }

                    if (camp1.Checked)
                    {
                        //camp1 is checked so add it to the correct campaign ID.
                        proxy.AddCamp(key, result, 21);
                        Results.Text += "Contact " + result + " added to campaign 21" + System.Environment.NewLine;
                    }
                    if (camp2.Checked)
                    {
                        //camp2 is checked so add it to the correct campaign ID.
                        proxy.AddCamp(key, result, 23);
                        Results.Text += "Contact " + result + " added to campaign 23" + System.Environment.NewLine;
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                Results.Text += System.Environment.NewLine;
            }
            else
            {
                MessageBox.Show("Error: First Name, Last Name and Email are required!");
            }
        }