private void CellAddress_TextChanged(object sender, EventArgs e)
        {
            HashSet <String> hs = new HashSet <string>();

            // get and store coordinates of the current cell
            //        spreadsheetPanel1.GetSelection(out int col, out int row);

            // get cell coords as variable name
            //    String varName = getCellName(col, row);

            //// update the contents of cell data
            //sheet.SetContentsOfCell(varName, ContentBox.Text);
            if (prevCell != "" && prevContent != sheet.GetCellContents(prevCell).ToString())
            {
                // if the input is a formula
                if (prevContent.Length > 0 && prevContent[0] == '=')
                {
                    try
                    {
                        Formula f = new Formula(prevContent.Remove(0, 1), s => s.ToUpper(), s => true);
                        foreach (string var in f.GetVariables())
                        {
                            hs.Add(var);
                        }
                        controller.UpdateServer(prevCell, "=" + f.ToString(), hs);
                    }
                    catch (Exception)
                    {
                        Console.WriteLine();
                    }
                }
                else
                {
                    controller.UpdateServer(prevCell, prevContent, hs);
                }
            }

            prevCell    = CellAddress.Text;
            prevContent = ContentBox.Text;
            //// update the contents of cell display
            //spreadsheetPanel1.SetValue(col, row, sheet.GetCellValue(varName).ToString());

            // spreadsheetPanel1.SetSelection(col + 1, row);
            //    OnSelectionChanged(spreadsheetPanel1);
        }