Index: trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Symbols/Constant.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Symbols/Constant.cs	(revision 3269)
+++ trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Symbols/Constant.cs	(revision 3294)
@@ -31,26 +31,18 @@
   [Item("Constant", "Represents a constant value.")]
   public sealed class Constant : Symbol {
-    #region Parameter Properties
-    public IValueParameter<DoubleValue> MinValueParameter {
-      get { return (IValueParameter<DoubleValue>)Parameters["MinValue"]; }
+    #region Propeties
+    private double minValue;
+    public double MinValue {
+      get { return minValue; }
+      set { minValue = value; }
     }
-    public IValueParameter<DoubleValue> MaxValueParameter {
-      get { return (IValueParameter<DoubleValue>)Parameters["MaxValue"]; }
-    }
-    #endregion
-    #region Propeties
-    public DoubleValue MinValue {
-      get { return MinValueParameter.Value; }
-      set { MinValueParameter.Value = value; }
-    }
-    public DoubleValue MaxValue {
-      get { return MaxValueParameter.Value; }
-      set { MaxValueParameter.Value = value; }
+    private double maxValue;
+    public double MaxValue {
+      get { return maxValue; }
+      set { maxValue = value; }
     }
     #endregion
     public Constant()
       : base() {
-      Parameters.Add(new ValueParameter<DoubleValue>("MinValue", "The minimal value of the constant.", new DoubleValue(-20.0)));
-      Parameters.Add(new ValueParameter<DoubleValue>("MaxValue", "The maximal value of the constant.", new DoubleValue(20.0)));
     }
 
Index: trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Symbols/ConstantTreeNode.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Symbols/ConstantTreeNode.cs	(revision 3269)
+++ trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Symbols/ConstantTreeNode.cs	(revision 3294)
@@ -55,6 +55,6 @@
     public override void ResetLocalParameters(IRandom random) {
       base.ResetLocalParameters(random);
-      var range = Symbol.MaxValue.Value - Symbol.MaxValue.Value;
-      Value = random.NextDouble() * range - Symbol.MinValue.Value;
+      var range = Symbol.MaxValue - Symbol.MaxValue;
+      Value = random.NextDouble() * range - Symbol.MinValue;
     }
 
Index: trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Symbols/Variable.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Symbols/Variable.cs	(revision 3269)
+++ trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Symbols/Variable.cs	(revision 3294)
@@ -27,38 +27,42 @@
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
 using HeuristicLab.Parameters;
+using System.Collections.Generic;
+using System;
 namespace HeuristicLab.Problems.DataAnalysis.Regression.Symbolic.Symbols {
   [StorableClass]
   [Item("Variable", "Represents a variable value.")]
   public sealed class Variable : Symbol {
-    #region Parameter Properties
-    public IValueParameter<DoubleValue> WeightNuParameter {
-      get { return (IValueParameter<DoubleValue>)Parameters["WeightNu"]; }
+    #region Properties
+    private double weightNu;
+    [Storable]
+    public double WeightNu {
+      get { return weightNu; }
+      set { weightNu = value; }
     }
-    public IValueParameter<DoubleValue> WeightSigmaParameter {
-      get { return (IValueParameter<DoubleValue>)Parameters["WeightSigma"]; }
+    private double weightSigma;
+    [Storable]
+    public double WeightSigma {
+      get { return weightSigma; }
+      set {
+        if (weightSigma < 0.0) throw new ArgumentException("Negative sigma is not allowed.");
+        weightSigma = value;
+      }
     }
-    public IValueParameter<ItemList<StringValue>> VariableNamesParameter {
-      get { return (IValueParameter<ItemList<StringValue>>)Parameters["VariableNames"]; }
-    }
-    #endregion
-    #region Properties
-    public DoubleValue WeightNu {
-      get { return WeightNuParameter.Value; }
-      set { WeightNuParameter.Value = value; }
-    }
-    public DoubleValue WeightSigma {
-      get { return WeightSigmaParameter.Value; }
-      set { WeightSigmaParameter.Value = value; }
-    }
-    public ItemList<StringValue> VariableNames {
-      get { return VariableNamesParameter.Value; }
-      set { VariableNamesParameter.Value = value; }
+    private List<string> variableNames;
+    [Storable]
+    public ICollection<string> VariableNames {
+      get { return variableNames; }
+      set {
+        if (value == null) throw new ArgumentNullException();
+        variableNames.Clear();
+        variableNames.AddRange(value);
+      }
     }
     #endregion
     public Variable()
       : base() {
-      Parameters.Add(new ValueParameter<DoubleValue>("WeightNu", "The mean value for the initialization of weight ((N(nu, sigma)).", new DoubleValue(1.0)));
-      Parameters.Add(new ValueParameter<DoubleValue>("WeightSigma", "The sigma value for the initialization of weight (N(nu, sigma))", new DoubleValue(1.0)));
-      Parameters.Add(new ValueParameter<ItemList<StringValue>>("VariableNames", "The list of possible variable names for initialization."));
+      weightNu = 1.0;
+      weightSigma = 1.0;
+      variableNames = new List<string>();
     }
 
Index: trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Symbols/VariableTreeNode.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Symbols/VariableTreeNode.cs	(revision 3269)
+++ trunk/sources/HeuristicLab.Problems.DataAnalysis.Regression/3.3/Symbolic/Symbols/VariableTreeNode.cs	(revision 3294)
@@ -57,8 +57,9 @@
     public override void ResetLocalParameters(IRandom random) {
       base.ResetLocalParameters(random);
-      var normalDistributedRNG = new NormalDistributedRandom(random, Symbol.WeightNu.Value, Symbol.WeightSigma.Value);
+      var normalDistributedRNG = new NormalDistributedRandom(random, Symbol.WeightNu, Symbol.WeightSigma);
       weight = normalDistributedRNG.NextDouble();
-      int variableIndex = random.Next(0, Symbol.VariableNames.Count);
-      variableName = Symbol.VariableNames[variableIndex].Value;
+      var variableList = new List<string>(Symbol.VariableNames);
+      int variableIndex = random.Next(0, variableList.Count);
+      variableName = variableList[variableIndex];
     }
 
