<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def AddColumn(self, column, default="", col_index=-1):
 """Appends a new column to the table. Args: column: A string, name of the column to add. default: Default value for entries. Defaults to ''. col_index: Integer index for where to insert new column. Raises: TableError: Column name already exists. """

        if column in self.table:
            raise TableError("Column %r already in table." % column)
        if col_index == -1:
            self._table[0][column] = column
            for i in range(1, len(self._table)):
                self._table[i][column] = default
        else:
            self._table[0].Insert(column, column, col_index)
            for i in range(1, len(self._table)):
                self._table[i].Insert(column, default, col_index)