Index: /branches/HeuristicLab.Problems.GrammaticalOptimization/Evaluation/MainWindow.xaml
===================================================================
--- /branches/HeuristicLab.Problems.GrammaticalOptimization/Evaluation/MainWindow.xaml	(revision 12831)
+++ /branches/HeuristicLab.Problems.GrammaticalOptimization/Evaluation/MainWindow.xaml	(revision 12832)
@@ -73,4 +73,6 @@
                 <TextBlock Margin="2" Grid.Column="0" Grid.Row="1" VerticalAlignment="Center">MaxIterations:</TextBlock>
                 <TextBox Name="TextBoxMaxIterations" Margin="2" Grid.Column="1" Grid.Row="1" Width="100" VerticalAlignment="Center" TextAlignment="Right" Text="{Binding MaxIterations}"></TextBox>
+                <TextBlock Margin="2" Grid.Column="2" Grid.Row="1" VerticalAlignment="Center">MaxThreads:</TextBlock>
+                <TextBox Name="MaxThreads" Margin="2" Grid.Column="3" Grid.Row="1" Width="100" VerticalAlignment="Center" TextAlignment="Right" Text="{Binding MaxThreads}"></TextBox>
                 <TextBlock Margin="2" Grid.Column="2" Grid.Row="0" VerticalAlignment="Center">MaxLen:</TextBlock>
                 <TextBox Name="TextBoxMaxLen" Margin="2" Grid.Column="3" Grid.Row="0" Width="100" VerticalAlignment="Center" TextAlignment="Right" Text="{Binding MaxLen}"></TextBox>
Index: /branches/HeuristicLab.Problems.GrammaticalOptimization/Evaluation/MainWindow.xaml.cs
===================================================================
--- /branches/HeuristicLab.Problems.GrammaticalOptimization/Evaluation/MainWindow.xaml.cs	(revision 12831)
+++ /branches/HeuristicLab.Problems.GrammaticalOptimization/Evaluation/MainWindow.xaml.cs	(revision 12832)
@@ -3,4 +3,5 @@
 using System.Text;
 using System.Threading;
+using System.Threading.Tasks;
 using System.Windows.Documents;
 using System.Xml.Serialization;
@@ -45,4 +46,5 @@
             vm.MaxIterations = 500000;
             vm.NrRuns = 20;
+            vm.MaxThreads = 5;
         }
 
@@ -126,4 +128,5 @@
                     //    File.WriteAllBytes(run.SvgFile, mctsSolver.GenerateSvg());
                     //}
+                    mctsSolver.FreeAll();
                 }
             }
@@ -183,4 +186,6 @@
             }
 
+
+
             for (int i = 0; i < vm.NrRuns; i++)
             {
@@ -218,7 +223,8 @@
 
                 vm.Runs.Add(run);
-
-                ThreadPool.QueueUserWorkItem(DoRun, run);
-            }
+            }
+            Task.Run(() =>
+                Parallel.For(0, vm.NrRuns, new ParallelOptions {MaxDegreeOfParallelism = vm.MaxThreads},
+                    i => DoRun(vm.Runs[i])));
         }
 
Index: /branches/HeuristicLab.Problems.GrammaticalOptimization/Evaluation/ViewModel/EvaluationViewModel.cs
===================================================================
--- /branches/HeuristicLab.Problems.GrammaticalOptimization/Evaluation/ViewModel/EvaluationViewModel.cs	(revision 12831)
+++ /branches/HeuristicLab.Problems.GrammaticalOptimization/Evaluation/ViewModel/EvaluationViewModel.cs	(revision 12832)
@@ -107,4 +107,16 @@
                 this.maxIterations = value;
                 this.OnPropertyChanged("MaxIterations");
+            }
+        }
+
+        private int maxThreads;
+
+        public int MaxThreads
+        {
+            get { return this.maxThreads; }
+            set
+            {
+                this.maxThreads = value;
+                this.OnPropertyChanged("MaxThreads");
             }
         }
Index: /branches/HeuristicLab.Problems.GrammaticalOptimization/GrammaticalOptimization.sln
===================================================================
--- /branches/HeuristicLab.Problems.GrammaticalOptimization/GrammaticalOptimization.sln	(revision 12831)
+++ /branches/HeuristicLab.Problems.GrammaticalOptimization/GrammaticalOptimization.sln	(revision 12832)
@@ -104,6 +104,6 @@
 	EndGlobalSection
 	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Debug|Any CPU.Build.0 = Debug|x64
 		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Debug|x64.ActiveCfg = Debug|x64
 		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Debug|x64.Build.0 = Debug|x64
@@ -111,6 +111,6 @@
 		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Release|Any CPU.ActiveCfg = Release|x64
+		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Release|Any CPU.Build.0 = Release|x64
 		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Release|x64.ActiveCfg = Release|x64
 		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.Release|x64.Build.0 = Release|x64
@@ -118,6 +118,6 @@
 		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{CB9DCCF6-667E-4A13-B82D-DBD6B45A045E}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{EEA07488-1A51-412A-A52C-53B754A628B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{EEA07488-1A51-412A-A52C-53B754A628B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{EEA07488-1A51-412A-A52C-53B754A628B3}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{EEA07488-1A51-412A-A52C-53B754A628B3}.Debug|Any CPU.Build.0 = Debug|x64
 		{EEA07488-1A51-412A-A52C-53B754A628B3}.Debug|x64.ActiveCfg = Debug|x64
 		{EEA07488-1A51-412A-A52C-53B754A628B3}.Debug|x64.Build.0 = Debug|x64
@@ -125,6 +125,6 @@
 		{EEA07488-1A51-412A-A52C-53B754A628B3}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{EEA07488-1A51-412A-A52C-53B754A628B3}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{EEA07488-1A51-412A-A52C-53B754A628B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{EEA07488-1A51-412A-A52C-53B754A628B3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{EEA07488-1A51-412A-A52C-53B754A628B3}.Release|Any CPU.ActiveCfg = Release|x64
+		{EEA07488-1A51-412A-A52C-53B754A628B3}.Release|Any CPU.Build.0 = Release|x64
 		{EEA07488-1A51-412A-A52C-53B754A628B3}.Release|x64.ActiveCfg = Release|x64
 		{EEA07488-1A51-412A-A52C-53B754A628B3}.Release|x64.Build.0 = Release|x64
@@ -132,6 +132,6 @@
 		{EEA07488-1A51-412A-A52C-53B754A628B3}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{EEA07488-1A51-412A-A52C-53B754A628B3}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Debug|Any CPU.Build.0 = Debug|x64
 		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Debug|x64.ActiveCfg = Debug|x64
 		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Debug|x64.Build.0 = Debug|x64
@@ -139,6 +139,6 @@
 		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Release|Any CPU.Build.0 = Release|Any CPU
+		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Release|Any CPU.ActiveCfg = Release|x64
+		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Release|Any CPU.Build.0 = Release|x64
 		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Release|x64.ActiveCfg = Release|x64
 		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.Release|x64.Build.0 = Release|x64
@@ -146,6 +146,6 @@
 		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{524CBD70-6F99-46AF-AD00-A0BC9FD1175B}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Debug|Any CPU.Build.0 = Debug|x64
 		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Debug|x64.ActiveCfg = Debug|x64
 		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Debug|x64.Build.0 = Debug|x64
@@ -153,6 +153,6 @@
 		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Release|Any CPU.Build.0 = Release|Any CPU
+		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Release|Any CPU.ActiveCfg = Release|x64
+		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Release|Any CPU.Build.0 = Release|x64
 		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Release|x64.ActiveCfg = Release|x64
 		{24408F7D-EE0F-4886-A08B-EC324D662E47}.Release|x64.Build.0 = Release|x64
@@ -160,6 +160,6 @@
 		{24408F7D-EE0F-4886-A08B-EC324D662E47}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{24408F7D-EE0F-4886-A08B-EC324D662E47}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Debug|Any CPU.Build.0 = Debug|x64
 		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Debug|x64.ActiveCfg = Debug|x64
 		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Debug|x64.Build.0 = Debug|x64
@@ -167,6 +167,6 @@
 		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Release|Any CPU.ActiveCfg = Release|x64
+		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Release|Any CPU.Build.0 = Release|x64
 		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Release|x64.ActiveCfg = Release|x64
 		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.Release|x64.Build.0 = Release|x64
@@ -174,6 +174,6 @@
 		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{3A2FBBCB-F9DF-4970-87F3-F13337D941AD}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Debug|Any CPU.Build.0 = Debug|x64
 		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Debug|x64.ActiveCfg = Debug|x64
 		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Debug|x64.Build.0 = Debug|x64
@@ -181,6 +181,6 @@
 		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Release|Any CPU.ActiveCfg = Release|x64
+		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Release|Any CPU.Build.0 = Release|x64
 		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Release|x64.ActiveCfg = Release|x64
 		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.Release|x64.Build.0 = Release|x64
@@ -188,6 +188,6 @@
 		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{17A7A380-86CE-482D-8D22-CBD70CC97F0D}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Debug|Any CPU.Build.0 = Debug|x64
 		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Debug|x64.ActiveCfg = Debug|x64
 		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Debug|x64.Build.0 = Debug|x64
@@ -195,6 +195,6 @@
 		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Release|Any CPU.Build.0 = Release|Any CPU
+		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Release|Any CPU.ActiveCfg = Release|x64
+		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Release|Any CPU.Build.0 = Release|x64
 		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Release|x64.ActiveCfg = Release|x64
 		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.Release|x64.Build.0 = Release|x64
@@ -202,6 +202,6 @@
 		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{14BEC23F-63FD-4954-B8AE-E2F4962E9B57}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Debug|Any CPU.Build.0 = Debug|x64
 		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Debug|x64.ActiveCfg = Debug|x64
 		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Debug|x64.Build.0 = Debug|x64
@@ -209,6 +209,6 @@
 		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Release|Any CPU.Build.0 = Release|Any CPU
+		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Release|Any CPU.ActiveCfg = Release|x64
+		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Release|Any CPU.Build.0 = Release|x64
 		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Release|x64.ActiveCfg = Release|x64
 		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.Release|x64.Build.0 = Release|x64
@@ -216,6 +216,6 @@
 		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{31171165-E16F-4A1A-A8AB-25C6AB3A71B9}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{E8138227-0C64-4E85-B676-21D3B97F254F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{E8138227-0C64-4E85-B676-21D3B97F254F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E8138227-0C64-4E85-B676-21D3B97F254F}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{E8138227-0C64-4E85-B676-21D3B97F254F}.Debug|Any CPU.Build.0 = Debug|x64
 		{E8138227-0C64-4E85-B676-21D3B97F254F}.Debug|x64.ActiveCfg = Debug|x64
 		{E8138227-0C64-4E85-B676-21D3B97F254F}.Debug|x64.Build.0 = Debug|x64
@@ -223,6 +223,6 @@
 		{E8138227-0C64-4E85-B676-21D3B97F254F}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{E8138227-0C64-4E85-B676-21D3B97F254F}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{E8138227-0C64-4E85-B676-21D3B97F254F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{E8138227-0C64-4E85-B676-21D3B97F254F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E8138227-0C64-4E85-B676-21D3B97F254F}.Release|Any CPU.ActiveCfg = Release|x64
+		{E8138227-0C64-4E85-B676-21D3B97F254F}.Release|Any CPU.Build.0 = Release|x64
 		{E8138227-0C64-4E85-B676-21D3B97F254F}.Release|x64.ActiveCfg = Release|x64
 		{E8138227-0C64-4E85-B676-21D3B97F254F}.Release|x64.Build.0 = Release|x64
@@ -230,6 +230,6 @@
 		{E8138227-0C64-4E85-B676-21D3B97F254F}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{E8138227-0C64-4E85-B676-21D3B97F254F}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Debug|Any CPU.Build.0 = Debug|x64
 		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Debug|x64.ActiveCfg = Debug|x64
 		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Debug|x64.Build.0 = Debug|x64
@@ -237,6 +237,6 @@
 		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Release|Any CPU.Build.0 = Release|Any CPU
+		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Release|Any CPU.ActiveCfg = Release|x64
+		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Release|Any CPU.Build.0 = Release|x64
 		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Release|x64.ActiveCfg = Release|x64
 		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.Release|x64.Build.0 = Release|x64
@@ -244,6 +244,6 @@
 		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{8B4C199E-C08B-479E-9B82-6AE5B113459E}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Debug|Any CPU.Build.0 = Debug|x64
 		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Debug|x64.ActiveCfg = Debug|x64
 		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Debug|x64.Build.0 = Debug|x64
@@ -251,6 +251,6 @@
 		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Release|Any CPU.Build.0 = Release|Any CPU
+		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Release|Any CPU.ActiveCfg = Release|x64
+		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Release|Any CPU.Build.0 = Release|x64
 		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Release|x64.ActiveCfg = Release|x64
 		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.Release|x64.Build.0 = Release|x64
@@ -258,6 +258,6 @@
 		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{2C115235-8FA9-4F7F-B3A0-A0144F8A35CA}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{D043325A-097F-4512-A8FC-CF706577FA46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D043325A-097F-4512-A8FC-CF706577FA46}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D043325A-097F-4512-A8FC-CF706577FA46}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{D043325A-097F-4512-A8FC-CF706577FA46}.Debug|Any CPU.Build.0 = Debug|x64
 		{D043325A-097F-4512-A8FC-CF706577FA46}.Debug|x64.ActiveCfg = Debug|x64
 		{D043325A-097F-4512-A8FC-CF706577FA46}.Debug|x64.Build.0 = Debug|x64
@@ -265,6 +265,6 @@
 		{D043325A-097F-4512-A8FC-CF706577FA46}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{D043325A-097F-4512-A8FC-CF706577FA46}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{D043325A-097F-4512-A8FC-CF706577FA46}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D043325A-097F-4512-A8FC-CF706577FA46}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D043325A-097F-4512-A8FC-CF706577FA46}.Release|Any CPU.ActiveCfg = Release|x64
+		{D043325A-097F-4512-A8FC-CF706577FA46}.Release|Any CPU.Build.0 = Release|x64
 		{D043325A-097F-4512-A8FC-CF706577FA46}.Release|x64.ActiveCfg = Release|x64
 		{D043325A-097F-4512-A8FC-CF706577FA46}.Release|x64.Build.0 = Release|x64
@@ -272,6 +272,6 @@
 		{D043325A-097F-4512-A8FC-CF706577FA46}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{D043325A-097F-4512-A8FC-CF706577FA46}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{ECD37682-DF7E-409F-912D-0965634556B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{ECD37682-DF7E-409F-912D-0965634556B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{ECD37682-DF7E-409F-912D-0965634556B5}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{ECD37682-DF7E-409F-912D-0965634556B5}.Debug|Any CPU.Build.0 = Debug|x64
 		{ECD37682-DF7E-409F-912D-0965634556B5}.Debug|x64.ActiveCfg = Debug|x64
 		{ECD37682-DF7E-409F-912D-0965634556B5}.Debug|x64.Build.0 = Debug|x64
@@ -280,6 +280,6 @@
 		{ECD37682-DF7E-409F-912D-0965634556B5}.Documentation|x64.ActiveCfg = Debug|x64
 		{ECD37682-DF7E-409F-912D-0965634556B5}.Documentation|x64.Build.0 = Debug|x64
-		{ECD37682-DF7E-409F-912D-0965634556B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{ECD37682-DF7E-409F-912D-0965634556B5}.Release|Any CPU.Build.0 = Release|Any CPU
+		{ECD37682-DF7E-409F-912D-0965634556B5}.Release|Any CPU.ActiveCfg = Release|x64
+		{ECD37682-DF7E-409F-912D-0965634556B5}.Release|Any CPU.Build.0 = Release|x64
 		{ECD37682-DF7E-409F-912D-0965634556B5}.Release|x64.ActiveCfg = Release|x64
 		{ECD37682-DF7E-409F-912D-0965634556B5}.Release|x64.Build.0 = Release|x64
@@ -288,6 +288,6 @@
 		{ECD37682-DF7E-409F-912D-0965634556B5}.ReleaseXBAP|x64.ActiveCfg = ReleaseXBAP|x64
 		{ECD37682-DF7E-409F-912D-0965634556B5}.ReleaseXBAP|x64.Build.0 = ReleaseXBAP|x64
-		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Debug|Any CPU.Build.0 = Debug|x64
 		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Debug|x64.ActiveCfg = Debug|x64
 		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Debug|x64.Build.0 = Debug|x64
@@ -295,6 +295,6 @@
 		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Release|Any CPU.ActiveCfg = Release|x64
+		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Release|Any CPU.Build.0 = Release|x64
 		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Release|x64.ActiveCfg = Release|x64
 		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.Release|x64.Build.0 = Release|x64
@@ -302,6 +302,6 @@
 		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{CFEC60DC-14E0-47E4-A60E-8919FB5FEF5D}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Debug|Any CPU.Build.0 = Debug|x64
 		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Debug|x64.ActiveCfg = Debug|x64
 		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Debug|x64.Build.0 = Debug|x64
@@ -309,6 +309,6 @@
 		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Release|Any CPU.Build.0 = Release|Any CPU
+		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Release|Any CPU.ActiveCfg = Release|x64
+		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Release|Any CPU.Build.0 = Release|x64
 		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Release|x64.ActiveCfg = Release|x64
 		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.Release|x64.Build.0 = Release|x64
@@ -316,6 +316,6 @@
 		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{E8056611-E49C-4BC3-A682-A629D5CEC11C}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Debug|Any CPU.Build.0 = Debug|x64
 		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Debug|x64.ActiveCfg = Debug|x64
 		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Debug|x64.Build.0 = Debug|x64
@@ -323,6 +323,6 @@
 		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Documentation|Any CPU.Build.0 = Documentation|Any CPU
 		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Documentation|x64.ActiveCfg = Documentation|Any CPU
-		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Release|Any CPU.Build.0 = Release|Any CPU
+		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Release|Any CPU.ActiveCfg = Release|x64
+		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Release|Any CPU.Build.0 = Release|x64
 		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Release|x64.ActiveCfg = Release|x64
 		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.Release|x64.Build.0 = Release|x64
@@ -330,6 +330,6 @@
 		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{D6BB65FC-240E-4241-B2ED-A7FB3F13E978}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Debug|Any CPU.Build.0 = Debug|x64
 		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Debug|x64.ActiveCfg = Debug|x64
 		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Debug|x64.Build.0 = Debug|x64
@@ -337,6 +337,6 @@
 		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Documentation|Any CPU.Build.0 = Documentation|Any CPU
 		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Documentation|x64.ActiveCfg = Documentation|Any CPU
-		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Release|Any CPU.Build.0 = Release|Any CPU
+		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Release|Any CPU.ActiveCfg = Release|x64
+		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Release|Any CPU.Build.0 = Release|x64
 		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Release|x64.ActiveCfg = Release|x64
 		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.Release|x64.Build.0 = Release|x64
@@ -344,6 +344,6 @@
 		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{351B0A6E-2F6B-497A-844B-DCB5A502FB0D}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Debug|Any CPU.Build.0 = Debug|x64
 		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Debug|x64.ActiveCfg = Debug|x64
 		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Debug|x64.Build.0 = Debug|x64
@@ -351,6 +351,6 @@
 		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Documentation|Any CPU.Build.0 = Documentation|Any CPU
 		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Documentation|x64.ActiveCfg = Documentation|Any CPU
-		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Release|Any CPU.Build.0 = Release|Any CPU
+		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Release|Any CPU.ActiveCfg = Release|x64
+		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Release|Any CPU.Build.0 = Release|x64
 		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Release|x64.ActiveCfg = Release|x64
 		{FE34CBC0-D23C-4A95-BA64-83A031814010}.Release|x64.Build.0 = Release|x64
@@ -358,6 +358,6 @@
 		{FE34CBC0-D23C-4A95-BA64-83A031814010}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{FE34CBC0-D23C-4A95-BA64-83A031814010}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{5D336F48-3FB9-4382-B4B9-06974C764007}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{5D336F48-3FB9-4382-B4B9-06974C764007}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{5D336F48-3FB9-4382-B4B9-06974C764007}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{5D336F48-3FB9-4382-B4B9-06974C764007}.Debug|Any CPU.Build.0 = Debug|x64
 		{5D336F48-3FB9-4382-B4B9-06974C764007}.Debug|x64.ActiveCfg = Debug|x64
 		{5D336F48-3FB9-4382-B4B9-06974C764007}.Debug|x64.Build.0 = Debug|x64
@@ -365,6 +365,6 @@
 		{5D336F48-3FB9-4382-B4B9-06974C764007}.Documentation|Any CPU.Build.0 = Documentation|Any CPU
 		{5D336F48-3FB9-4382-B4B9-06974C764007}.Documentation|x64.ActiveCfg = Documentation|Any CPU
-		{5D336F48-3FB9-4382-B4B9-06974C764007}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{5D336F48-3FB9-4382-B4B9-06974C764007}.Release|Any CPU.Build.0 = Release|Any CPU
+		{5D336F48-3FB9-4382-B4B9-06974C764007}.Release|Any CPU.ActiveCfg = Release|x64
+		{5D336F48-3FB9-4382-B4B9-06974C764007}.Release|Any CPU.Build.0 = Release|x64
 		{5D336F48-3FB9-4382-B4B9-06974C764007}.Release|x64.ActiveCfg = Release|x64
 		{5D336F48-3FB9-4382-B4B9-06974C764007}.Release|x64.Build.0 = Release|x64
@@ -372,6 +372,6 @@
 		{5D336F48-3FB9-4382-B4B9-06974C764007}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{5D336F48-3FB9-4382-B4B9-06974C764007}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Debug|Any CPU.Build.0 = Debug|x64
 		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Debug|x64.ActiveCfg = Debug|x64
 		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Debug|x64.Build.0 = Debug|x64
@@ -379,6 +379,6 @@
 		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Documentation|Any CPU.Build.0 = Documentation|Any CPU
 		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Documentation|x64.ActiveCfg = Documentation|Any CPU
-		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Release|Any CPU.ActiveCfg = Release|x64
+		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Release|Any CPU.Build.0 = Release|x64
 		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Release|x64.ActiveCfg = Release|x64
 		{0AD99D97-24ED-484D-9430-9905811F8A4F}.Release|x64.Build.0 = Release|x64
@@ -386,6 +386,6 @@
 		{0AD99D97-24ED-484D-9430-9905811F8A4F}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{0AD99D97-24ED-484D-9430-9905811F8A4F}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Debug|Any CPU.Build.0 = Debug|x64
 		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Debug|x64.ActiveCfg = Debug|x64
 		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Debug|x64.Build.0 = Debug|x64
@@ -393,6 +393,6 @@
 		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Documentation|Any CPU.Build.0 = Documentation|Any CPU
 		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Documentation|x64.ActiveCfg = Documentation|Any CPU
-		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Release|Any CPU.Build.0 = Release|Any CPU
+		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Release|Any CPU.ActiveCfg = Release|x64
+		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Release|Any CPU.Build.0 = Release|x64
 		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Release|x64.ActiveCfg = Release|x64
 		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.Release|x64.Build.0 = Release|x64
@@ -400,6 +400,6 @@
 		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{A2576CE0-E492-490F-97E9-C0E7ABAFAF27}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{2CD52982-A1C2-4A14-9D69-D64719357216}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{2CD52982-A1C2-4A14-9D69-D64719357216}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{2CD52982-A1C2-4A14-9D69-D64719357216}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{2CD52982-A1C2-4A14-9D69-D64719357216}.Debug|Any CPU.Build.0 = Debug|x64
 		{2CD52982-A1C2-4A14-9D69-D64719357216}.Debug|x64.ActiveCfg = Debug|x64
 		{2CD52982-A1C2-4A14-9D69-D64719357216}.Debug|x64.Build.0 = Debug|x64
@@ -407,6 +407,6 @@
 		{2CD52982-A1C2-4A14-9D69-D64719357216}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{2CD52982-A1C2-4A14-9D69-D64719357216}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{2CD52982-A1C2-4A14-9D69-D64719357216}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{2CD52982-A1C2-4A14-9D69-D64719357216}.Release|Any CPU.Build.0 = Release|Any CPU
+		{2CD52982-A1C2-4A14-9D69-D64719357216}.Release|Any CPU.ActiveCfg = Release|x64
+		{2CD52982-A1C2-4A14-9D69-D64719357216}.Release|Any CPU.Build.0 = Release|x64
 		{2CD52982-A1C2-4A14-9D69-D64719357216}.Release|x64.ActiveCfg = Release|x64
 		{2CD52982-A1C2-4A14-9D69-D64719357216}.Release|x64.Build.0 = Release|x64
@@ -414,6 +414,6 @@
 		{2CD52982-A1C2-4A14-9D69-D64719357216}.ReleaseXBAP|Any CPU.Build.0 = Release|Any CPU
 		{2CD52982-A1C2-4A14-9D69-D64719357216}.ReleaseXBAP|x64.ActiveCfg = Release|Any CPU
-		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Debug|Any CPU.Build.0 = Debug|x64
 		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Debug|x64.ActiveCfg = Debug|x64
 		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Debug|x64.Build.0 = Debug|x64
@@ -421,6 +421,6 @@
 		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Documentation|Any CPU.Build.0 = Debug|Any CPU
 		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Documentation|x64.ActiveCfg = Debug|Any CPU
-		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Release|Any CPU.Build.0 = Release|Any CPU
+		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Release|Any CPU.ActiveCfg = Release|x64
+		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Release|Any CPU.Build.0 = Release|x64
 		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Release|x64.ActiveCfg = Release|x64
 		{514A1E9D-0900-46A5-8073-F3C9CB2AAEE3}.Release|x64.Build.0 = Release|x64
Index: /branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.MonteCarloTreeSearch/Base/TreeNode.cs
===================================================================
--- /branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.MonteCarloTreeSearch/Base/TreeNode.cs	(revision 12831)
+++ /branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.MonteCarloTreeSearch/Base/TreeNode.cs	(revision 12832)
@@ -14,9 +14,9 @@
         public string phrase;
         public TreeNode parent;
-        public List<TreeNode> children;
+        public TreeNode[] children;
         public IBanditPolicyActionInfo actionInfo;
-        public int level;
+        public ushort level;
 
-        public TreeNode(TreeNode parent, string phrase, IBanditPolicyActionInfo actionInfo, int level)
+        public TreeNode(TreeNode parent, string phrase, IBanditPolicyActionInfo actionInfo, ushort level)
         {
             this.parent = parent;
@@ -34,4 +34,19 @@
             return children.Select(n => n.actionInfo);
         }
+
+        internal void RemoveChildren(TreeNode currentNode)
+        {
+            TreeNode[] newChildren = new TreeNode[children.Length-1];
+            int counter = 0;
+            for (int i = 0; i < children.Length; i++)
+            {
+                if (children[i] != currentNode)
+                {
+                    newChildren[counter] = children[i];
+                    counter++;
+                }
+            }
+            children = newChildren;
+        }
     }
 }
Index: /branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.MonteCarloTreeSearch/MonteCarloTreeSearch.cs
===================================================================
--- /branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.MonteCarloTreeSearch/MonteCarloTreeSearch.cs	(revision 12831)
+++ /branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.MonteCarloTreeSearch/MonteCarloTreeSearch.cs	(revision 12832)
@@ -120,5 +120,5 @@
             if (treeNode.children == null)
             {
-                treeNode.children = new List<TreeNode>();
+                List<TreeNode> newChildren = new List<TreeNode>();
 
                 var phrase = new Sequence(treeNode.phrase);
@@ -137,10 +137,11 @@
                             {
                                 childNode = new TreeNode(treeNode, newSequence.ToString(),
-                                    behaviourPolicy.CreateActionInfo(), treeNode.level + 1);
-                                treeNode.children.Add(childNode);
+                                    behaviourPolicy.CreateActionInfo(), (ushort) (treeNode.level + 1));
+                                newChildren.Add(childNode);
                             }
                         }
                     }
                 }
+                treeNode.children = newChildren.ToArray();
             }
         }
@@ -164,7 +165,7 @@
         }
 
-        private void GetTreeInfosRek(TreeInfos treeInfos, List<TreeNode> children)
-        {
-            treeInfos.TotalNodes += children.Count;
+        private void GetTreeInfosRek(TreeInfos treeInfos, TreeNode[] children)
+        {
+            treeInfos.TotalNodes += children.Length;
             foreach (TreeNode child in children)
             {
@@ -342,4 +343,10 @@
             return HexConverter(Color.FromArgb(newR, newG, newB));
         }
+
+        public void FreeAll()
+        {
+            rootNode = null;
+            GC.Collect();
+        }
     }
 }
Index: /branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.MonteCarloTreeSearch/MonteCarloTreeSearch_PruneLeaves.cs
===================================================================
--- /branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.MonteCarloTreeSearch/MonteCarloTreeSearch_PruneLeaves.cs	(revision 12831)
+++ /branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Algorithms.MonteCarloTreeSearch/MonteCarloTreeSearch_PruneLeaves.cs	(revision 12832)
@@ -47,5 +47,5 @@
                     {
                         // already removed all child nodes so remove it too..
-                        currentNode.parent.children.Remove(currentNode);
+                        currentNode.parent.RemoveChildren(currentNode);
                         continue;
                     }
@@ -63,5 +63,5 @@
                         // Version 2:
                         // remove currentNode from tree..
-                        currentNode.parent.children.Remove(currentNode);
+                        currentNode.parent.RemoveChildren(currentNode);
                     }
                 }
