Index: /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars/TypeCoherentVectorExpressionGrammar.cs
===================================================================
--- /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars/TypeCoherentVectorExpressionGrammar.cs	(revision 17465)
+++ /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars/TypeCoherentVectorExpressionGrammar.cs	(revision 17466)
@@ -86,7 +86,7 @@
       var factorVariable = new FactorVariable();
 
+      var mean = new Mean();
+      var sd = new StandardDeviation();
       var sum = new Sum();
-      var mean = new Average { Name = "Mean" };
-      var sd = new StandardDeviation();
       #endregion
 
@@ -120,5 +120,5 @@
       var powerSymbols = new GroupSymbol(PowerFunctionsName, new List<ISymbol> { square, sqrt, cube, cubeRoot, power, root });
       var terminalSymbols = new GroupSymbol(TerminalsName, new List<ISymbol> { constant, variable, binFactorVariable, factorVariable });
-      var aggregationSymbols = new GroupSymbol(VectorAggregationName, new List<ISymbol> { sum, mean, sd });
+      var aggregationSymbols = new GroupSymbol(VectorAggregationName, new List<ISymbol> { mean, sd, sum });
       var scalarSymbols = new GroupSymbol(ScalarSymbolsName, new List<ISymbol>() { arithmeticSymbols, trigonometricSymbols, exponentialAndLogarithmicSymbols, powerSymbols, terminalSymbols, aggregationSymbols });
 
Index: /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj
===================================================================
--- /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj	(revision 17465)
+++ /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj	(revision 17466)
@@ -231,4 +231,5 @@
     <Compile Include="Symbols\And.cs" />
     <Compile Include="Symbols\AutoregressiveVariable.cs" />
+    <Compile Include="Symbols\Mean.cs" />
     <Compile Include="Symbols\StandardDeviation.cs" />
     <Compile Include="Symbols\Sum.cs" />
Index: /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/OpCodes.cs
===================================================================
--- /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/OpCodes.cs	(revision 17465)
+++ /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/OpCodes.cs	(revision 17466)
@@ -78,7 +78,8 @@
     CubeRoot = 51,
     Tanh = 52,
-    Sum = 53,
-    Sd = 54
-  };
+    Mean = 53,
+    StandardDeviation = 54,
+    Sum = 55
+  }
   public static class OpCodes {
     // constants for API compatibility only
@@ -135,6 +136,8 @@
     public const byte CubeRoot = (byte)OpCode.CubeRoot;
     public const byte Tanh = (byte)OpCode.Tanh;
+    public const byte Mean = (byte)OpCode.Mean;
+    public const byte StandardDeviation = (byte)OpCode.StandardDeviation;
     public const byte Sum = (byte)OpCode.Sum;
-    public const byte StandardDeviation = (byte)OpCode.Sd;
+
 
     private static Dictionary<Type, byte> symbolToOpcode = new Dictionary<Type, byte>() {
@@ -192,6 +195,8 @@
       { typeof(Cube), OpCodes.Cube },
       { typeof(CubeRoot), OpCodes.CubeRoot },
-      { typeof(Sum), OpCodes.Sum },
-      { typeof(StandardDeviation), OpCodes.StandardDeviation }
+      { typeof(Mean), OpCodes.Mean },
+      { typeof(StandardDeviation), OpCodes.StandardDeviation },
+      { typeof(Sum), OpCodes.Sum }
+
     };
 
Index: /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeVectorInterpreter.cs
===================================================================
--- /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeVectorInterpreter.cs	(revision 17465)
+++ /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeVectorInterpreter.cs	(revision 17466)
@@ -334,5 +334,5 @@
               v => v.Sum());
           }
-        case OpCodes.Average: {
+        case OpCodes.Mean: {
             var cur = Evaluate(dataset, ref row, state);
             return AggregateApply(cur,
Index: /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Mean.cs
===================================================================
--- /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Mean.cs	(revision 17466)
+++ /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Mean.cs	(revision 17466)
@@ -0,0 +1,49 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using HeuristicLab.Common;
+using HeuristicLab.Core;
+using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
+using HEAL.Attic;
+
+namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
+  [StorableType("2AE24E16-849E-4D54-A35B-7FE64BEF8ECB")]
+  [Item("Mean", "Symbol that represents the mean function.")]
+  public sealed class Mean : Symbol {
+    private const int minimumArity = 1;
+    private const int maximumArity = 1;
+
+    public override int MinimumArity {
+      get { return minimumArity; }
+    }
+    public override int MaximumArity {
+      get { return maximumArity; }
+    }
+
+    [StorableConstructor]
+    private Mean(StorableConstructorFlag _) : base(_) { }
+    private Mean(Mean original, Cloner cloner) : base(original, cloner) { }
+    public override IDeepCloneable Clone(Cloner cloner) {
+      return new Mean(this, cloner);
+    }
+    public Mean() : base("Mean", "Symbol that represents the mean function.") { }
+  }
+}
Index: /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/StandardDeviation.cs
===================================================================
--- /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/StandardDeviation.cs	(revision 17465)
+++ /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/StandardDeviation.cs	(revision 17466)
@@ -29,5 +29,5 @@
   public sealed class StandardDeviation : Symbol {
     private const int minimumArity = 1;
-    private const int maximumArity = byte.MaxValue;
+    private const int maximumArity = 1;
 
     public override int MinimumArity {
Index: /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Sum.cs
===================================================================
--- /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Sum.cs	(revision 17465)
+++ /branches/3040_VectorBasedGP/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Sum.cs	(revision 17466)
@@ -27,8 +27,8 @@
 namespace HeuristicLab.Problems.DataAnalysis.Symbolic {
   [StorableType("C6C245BF-C44A-4207-A268-55641483F27F")]
-  [Item("Sum", "Symbol that represents the Sum function.")]
+  [Item("Sum", "Symbol that represents the sum function.")]
   public sealed class Sum : Symbol {
     private const int minimumArity = 1;
-    private const int maximumArity = byte.MaxValue;
+    private const int maximumArity = 1;
 
     public override int MinimumArity {
