// update all TextBox values
        public void updateValues()
        {
            if (current_reactor != null)
            {
                // TEMPERATURE
                filter = null;
                string data = current_reactor.getSensors()[0].getData();
                // check and apply any temperature filters
                if (CRadioButton.Checked)
                {
                    if (TempCheckBox.Checked)
                    {
                        filter = new CelsiusFilter(data);
                        filter = new IntegerFilter(filter);
                    }
                    else
                    {
                        filter = new CelsiusFilter(data);
                    }
                    data = filter.getData();
                }
                else if (TempCheckBox.Checked)
                {
                    filter = new IntegerFilter(data);
                    data   = filter.getData();
                }
                int    first        = data.IndexOf('?');
                int    last         = data.LastIndexOf('?');
                string current_temp = data.Substring(0, first);
                string max_temp     = data.Substring(first + 1, last - first - 1);
                string unit_temp    = data.Substring(last + 1, data.Length - last - 1);

                // RADIATION
                filter = null;
                data   = current_reactor.getSensors()[1].getData();
                // check and apply any temperature filters
                if (RadRadioButton.Checked)
                {
                    if (RadCheckBox.Checked)
                    {
                        filter = new RadFilter(data);
                        filter = new IntegerFilter(filter);
                    }
                    else
                    {
                        filter = new RadFilter(data);
                    }
                    data = filter.getData();
                }
                else if (RadCheckBox.Checked)
                {
                    filter = new IntegerFilter(data);
                    data   = filter.getData();
                }
                first = data.IndexOf('?');
                last  = data.LastIndexOf('?');
                string current_radi = data.Substring(0, first);
                string max_radi     = data.Substring(first + 1, last - first - 1);
                string unit_radi    = data.Substring(last + 1, data.Length - last - 1);

                // PRESSURE
                filter = null;
                data   = current_reactor.getSensors()[2].getData();
                // check and apply any temperature filters
                if (KpaRadioButton.Checked)
                {
                    if (PresCheckBox.Checked)
                    {
                        filter = new KpaFilter(data);
                        filter = new IntegerFilter(filter);
                    }
                    else
                    {
                        filter = new KpaFilter(data);
                    }
                    data = filter.getData();
                }
                else if (PresCheckBox.Checked)
                {
                    filter = new IntegerFilter(data);
                    data   = filter.getData();
                }
                first = data.IndexOf('?');
                last  = data.LastIndexOf('?');
                string current_pres = data.Substring(0, first);
                string max_pres     = data.Substring(first + 1, last - first - 1);
                string unit_pres    = data.Substring(last + 1, data.Length - last - 1);

                try {
                    TempTextBox.Invoke(new Action(() => TempTextBox.Text           = current_temp));
                    MaxTempTextBox.Invoke(new Action(() => MaxTempTextBox.Text     = max_temp));
                    TempUnitsTextBox.Invoke(new Action(() => TempUnitsTextBox.Text = unit_temp));
                    RadTextBox.Invoke(new Action(() => RadTextBox.Text             = current_radi));
                    MaxRadTextBox.Invoke(new Action(() => MaxRadTextBox.Text       = max_radi));
                    RadUnitsTextBox.Invoke(new Action(() => RadUnitsTextBox.Text   = unit_radi));
                    PresTextBox.Invoke(new Action(() => PresTextBox.Text           = current_pres));
                    MaxPresTextBox.Invoke(new Action(() => MaxPresTextBox.Text     = max_pres));
                    PresUnitsTextBox.Invoke(new Action(() => PresUnitsTextBox.Text = unit_pres));
                } catch (Exception e)
                {
                    Console.WriteLine(e);
                }
            }
        }