private void ManageUserForm_Load(object sender, EventArgs e)
        {
            LoginForm loginForm = new LoginForm();

            if (loginForm.ShowDialog(this) == DialogResult.Cancel)
            {
                Close();
                return;
            }
            username = loginForm.TBUsername.Text;
            password = new SecureString();
            foreach (char c in loginForm.TBPassword.Text)
            {
                password.AppendChar(c);
            }
            password.MakeReadOnly();
            loginForm.TBPassword.Text = "";

            LUsername.Text = username;


            TcpClient        client        = new TcpClient(Form1.ServerIP, 25634);
            NetworkStream    networkStream = client.GetStream();
            BinaryFormatter  formatter     = new BinaryFormatter();
            EncryptedMessage msg           = new EncryptedMessage();

            byte[] AESKey = msg.EncryptObject(new GetUserDataMessage()
            {
                Username = username, Password = ClearTextPassword
            }, Properties.Resources.serverPublicKey);
            formatter.Serialize(networkStream, msg);
            object obj = formatter.Deserialize(networkStream);

            client.Close();

            if (obj is EncryptedMessage)
            {
                msg          = (EncryptedMessage)obj;
                obj          = msg.DecryptObject(AESKey);
                data         = (GetUserDataReturnMessage)obj;
                TBEmail.Text = data.Email;
                foreach (string lib in data.Libraries.Keys)
                {
                    LBLibraries.Items.Add(lib);
                }
                return;
            }
            if (obj is ErrorMessage)
            {
                MessageBox.Show(this, ((ErrorMessage)obj).MSG, "Error");
            }
            else
            {
                MessageBox.Show(this, "Unknown response recieved from server.", "Error");
            }
            Close();
        }