def remove_col_label(self, event=None, col=None):
        """
        check to see if column is required
        if it is not, delete it from grid
        """
        if event:
            col = event.GetCol()
        if not col:
            return
        label = self.grid.GetColLabelValue(col)
        if '**' in label:
            label = label.strip('**')
        elif '^^' in label:
            label = label.strip('^^')
        if label in self.reqd_headers:
            pw.simple_warning("That header is required, and cannot be removed")
            return False
        else:
            print('That header is not required:', label)
            # remove column from wxPython grid
            self.grid.remove_col(col)
            # remove column from DataFrame if present
            if self.grid_type in self.contribution.tables:
                if label in self.contribution.tables[self.grid_type].df.columns:
                    del self.contribution.tables[self.grid_type].df[label]
        # causes resize on each column header delete
        # can leave this out if we want.....
        self.main_sizer.Fit(self)