Index: branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data.Views/3.3/StringConvertibleArrayView.cs
===================================================================
--- branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data.Views/3.3/StringConvertibleArrayView.cs	(revision 9308)
+++ branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data.Views/3.3/StringConvertibleArrayView.cs	(revision 9401)
@@ -53,5 +53,5 @@
 
     protected override void DeregisterContentEvents() {
-      Content.ColumnNamesChanged -= new EventHandler(Content_ColumnNamesChanged);
+      Content.ElementNamesChanged -= new EventHandler(Content_ElementNamesChanged);
       Content.Reset -= new EventHandler(Content_Reset);
       Content.ItemsChanged -= new EventHandler<ArrayValuesChangedEventArgs>(Content_ItemsChanged);
@@ -63,5 +63,5 @@
       Content.ItemsChanged += new EventHandler<ArrayValuesChangedEventArgs>(Content_ItemsChanged);
       Content.Reset += new EventHandler(Content_Reset);
-      Content.ColumnNamesChanged -= new EventHandler(Content_ColumnNamesChanged);
+      Content.ElementNamesChanged -= new EventHandler(Content_ElementNamesChanged);
     }
 
@@ -106,8 +106,8 @@
     protected virtual void UpdateRowHeaders() {
       for (int i = 0; i < dataGridView.RowCount; i++) {
-        if (i < Content.ColumnNames.Count())
-          dataGridView.Rows[i].HeaderCell.Value = Content.ColumnNames.ElementAt(i);
+        if (i < Content.ElementNames.Count())
+          dataGridView.Rows[i].HeaderCell.Value = Content.ElementNames.ElementAt(i);
         else
-          dataGridView.Rows[i].HeaderCell.Value = "Column " + (i + 1);
+          dataGridView.Rows[i].HeaderCell.Value = "Element " + (i + 1);
       }
     }
@@ -124,7 +124,7 @@
       }
     }
-    private void Content_ColumnNamesChanged(object sender, EventArgs e) {
+    private void Content_ElementNamesChanged(object sender, EventArgs e) {
       if (InvokeRequired)
-        Invoke(new EventHandler(Content_ColumnNamesChanged), sender, e);
+        Invoke(new EventHandler(Content_ElementNamesChanged), sender, e);
       else
         UpdateRowHeaders();
Index: branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleArray.cs
===================================================================
--- branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleArray.cs	(revision 9308)
+++ branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data/3.3/Interfaces/IStringConvertibleArray.cs	(revision 9401)
@@ -27,5 +27,5 @@
   public interface IStringConvertibleArray : IContent {
     int Length { get; set; }
-    IEnumerable<string> ColumnNames { get; set; }
+    IEnumerable<string> ElementNames { get; set; }
 
     bool ReadOnly { get; }
@@ -37,5 +37,5 @@
     bool SetValues(IEnumerable<ArrayValue<string>> arrayValues);
 
-    event EventHandler ColumnNamesChanged;
+    event EventHandler ElementNamesChanged;
     event EventHandler<ArrayValuesChangedEventArgs> ItemsChanged;
     event EventHandler Reset;
Index: branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data/3.3/StringArray.cs
===================================================================
--- branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data/3.3/StringArray.cs	(revision 9308)
+++ branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data/3.3/StringArray.cs	(revision 9401)
@@ -42,16 +42,16 @@
 
     [Storable]
-    protected List<string> columnNames;
-    public virtual IEnumerable<string> ColumnNames {
-      get { return this.columnNames; }
+    protected List<string> elementNames;
+    public virtual IEnumerable<string> ElementNames {
+      get { return this.elementNames; }
       set {
-        if (ReadOnly) throw new NotSupportedException("ColumnNames cannot be set. ValueTypeArray is read-only.");
+        if (ReadOnly) throw new NotSupportedException("ElementNames cannot be set. ValueTypeArray is read-only.");
         if (value == null || value.Count() == 0)
-          columnNames = new List<string>();
+          elementNames = new List<string>();
         else if (value.Count() != Length)
-          throw new ArgumentException("A column name must be specified for each column.");
+          throw new ArgumentException("An element name must be specified for each element.");
         else
-          columnNames = new List<string>(value);
-        OnColumnNamesChanged();
+          elementNames = new List<string>(value);
+        OnElementNamesChanged();
       }
     }
@@ -63,9 +63,9 @@
         if (value != Length) {
           Array.Resize<string>(ref array, value);
-          while (columnNames.Count > value)
-            columnNames.RemoveAt(columnNames.Count - 1);
-          while (columnNames.Count < value)
-            columnNames.Add("Column " + columnNames.Count);
-          OnColumnNamesChanged();
+          while (elementNames.Count > value)
+            elementNames.RemoveAt(elementNames.Count - 1);
+          while (elementNames.Count < value)
+            elementNames.Add("Element " + elementNames.Count);
+          OnElementNamesChanged();
           OnReset();
         }
@@ -93,8 +93,8 @@
     [StorableHook(HookType.AfterDeserialization)]
     private void AfterDeserialization() {
-      if (columnNames == null) {
-        columnNames = new List<string>(array.Length);
-        while (columnNames.Count < array.Length)
-          columnNames.Add("Column " + columnNames.Count);
+      if (elementNames == null) {
+        elementNames = new List<string>(array.Length);
+        while (elementNames.Count < array.Length)
+          elementNames.Add("Element " + elementNames.Count);
       }
     }
@@ -105,10 +105,10 @@
       : base(original, cloner) {
       this.array = (string[])original.array.Clone();
-      this.columnNames = new List<string>(original.columnNames);
+      this.elementNames = new List<string>(original.elementNames);
       this.readOnly = original.readOnly;
     }
     public StringArray() {
       array = new string[0];
-      columnNames = new List<string>();
+      elementNames = new List<string>();
       readOnly = false;
     }
@@ -117,5 +117,5 @@
       for (int i = 0; i < array.Length; i++)
         array[i] = string.Empty;
-      columnNames = new List<string>();
+      elementNames = new List<string>();
       readOnly = false;
     }
@@ -125,5 +125,5 @@
       for (int i = 0; i < array.Length; i++)
         array[i] = elements[i] == null ? string.Empty : elements[i];
-      columnNames = new List<string>();
+      elementNames = new List<string>();
       readOnly = false;
     }
@@ -194,7 +194,7 @@
     }
 
-    public event EventHandler ColumnNamesChanged;
-    protected virtual void OnColumnNamesChanged() {
-      EventHandler handler = ColumnNamesChanged;
+    public event EventHandler ElementNamesChanged;
+    protected virtual void OnElementNamesChanged() {
+      EventHandler handler = ElementNamesChanged;
       if (handler != null)
         handler(this, EventArgs.Empty);
Index: branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data/3.3/ValueTypeArray.cs
===================================================================
--- branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data/3.3/ValueTypeArray.cs	(revision 9308)
+++ branches/ImprovingStringConvertibleMatrix/HeuristicLab.Data/3.3/ValueTypeArray.cs	(revision 9401)
@@ -42,16 +42,16 @@
 
     [Storable]
-    protected List<string> columnNames;
-    public virtual IEnumerable<string> ColumnNames {
-      get { return this.columnNames; }
+    protected List<string> elementNames;
+    public virtual IEnumerable<string> ElementNames {
+      get { return this.elementNames; }
       set {
-        if (ReadOnly) throw new NotSupportedException("ColumnNames cannot be set. ValueTypeArray is read-only.");
+        if (ReadOnly) throw new NotSupportedException("ElementNames cannot be set. ValueTypeArray is read-only.");
         if (value == null || value.Count() == 0)
-          columnNames = new List<string>();
+          elementNames = new List<string>();
         else if (value.Count() != Length)
-          throw new ArgumentException("A column name must be specified for each column.");
+          throw new ArgumentException("An element name must be specified for each element.");
         else
-          columnNames = new List<string>(value);
-        OnColumnNamesChanged();
+          elementNames = new List<string>(value);
+        OnElementNamesChanged();
       }
     }
@@ -65,9 +65,9 @@
         if (value != Length) {
           Array.Resize<T>(ref array, value);
-          while (columnNames.Count > value)
-            columnNames.RemoveAt(columnNames.Count - 1);
-          while (columnNames.Count < value)
-            columnNames.Add("Column " + columnNames.Count);
-          OnColumnNamesChanged();
+          while (elementNames.Count > value)
+            elementNames.RemoveAt(elementNames.Count - 1);
+          while (elementNames.Count < value)
+            elementNames.Add("Element " + elementNames.Count);
+          OnElementNamesChanged();
           OnReset();
         }
@@ -106,8 +106,8 @@
     [StorableHook(HookType.AfterDeserialization)]
     private void AfterDeserialization() {
-      if (columnNames == null) {
-        columnNames = new List<string>(array.Length);
-        while (columnNames.Count < array.Length)
-          columnNames.Add("Column " + columnNames.Count);
+      if (elementNames == null) {
+        elementNames = new List<string>(array.Length);
+        while (elementNames.Count < array.Length)
+          elementNames.Add("Element " + elementNames.Count);
       }
     }
@@ -118,15 +118,15 @@
       : base(original, cloner) {
       this.array = (T[])original.array.Clone();
-      this.columnNames = new List<string>(original.columnNames);
+      this.elementNames = new List<string>(original.elementNames);
       this.readOnly = original.readOnly;
     }
     protected ValueTypeArray() {
       array = new T[0];
-      columnNames = new List<string>();
+      elementNames = new List<string>();
       readOnly = false;
     }
     protected ValueTypeArray(int length) {
       array = new T[length];
-      columnNames = new List<string>(length);
+      elementNames = new List<string>(length);
       readOnly = false;
     }
@@ -134,5 +134,5 @@
       if (elements == null) throw new ArgumentNullException();
       array = (T[])elements.Clone();
-      columnNames = new List<string>(elements.Length);
+      elementNames = new List<string>(elements.Length);
       readOnly = false;
     }
@@ -164,7 +164,7 @@
     }
 
-    public event EventHandler ColumnNamesChanged;
-    protected virtual void OnColumnNamesChanged() {
-      EventHandler handler = ColumnNamesChanged;
+    public event EventHandler ElementNamesChanged;
+    protected virtual void OnElementNamesChanged() {
+      EventHandler handler = ElementNamesChanged;
       if (handler != null)
         handler(this, EventArgs.Empty);
