diff --git a/alib2data/test-src/tree/TreeTest.cpp b/alib2data/test-src/tree/TreeTest.cpp
index bc7b2d94bac5f6ad940f8871f7cf4043fa317ea7..812d23375f0976f34e64da5ed4dad753b27d1fac 100644
--- a/alib2data/test-src/tree/TreeTest.cpp
+++ b/alib2data/test-src/tree/TreeTest.cpp
@@ -51,14 +51,10 @@ void TreeTest::testRankedTreeParser() {
 
 	const std::set<alphabet::RankedSymbol> alphabet {a, b, c};
 
-	std::vector<tree::RankedNode *> children3 (0);
-	tree::RankedNode * node3 = new tree::RankedNode(c, children3);
-	std::vector<tree::RankedNode *> children4 (0);
-	tree::RankedNode * node4 = new tree::RankedNode(c, children4);
-	std::vector<tree::RankedNode *> children2 {node3};
-	tree::RankedNode * node2 = new tree::RankedNode(b, children2);
-	std::vector<tree::RankedNode *> children1 {node2, node4};
-	tree::RankedNode * node1 = new tree::RankedNode(a, children1);
+	tree::RankedNode * node3 = new tree::RankedNode(c, {});
+	tree::RankedNode * node4 = new tree::RankedNode(c, {});
+	tree::RankedNode * node2 = new tree::RankedNode(b, {node3});
+	tree::RankedNode * node1 = new tree::RankedNode(a, {node2, node4});
 
 	tree::RankedTree tree(alphabet, std::move(*node1));
 
@@ -114,23 +110,15 @@ void TreeTest::testRankedTreeCompare() {
 
 	const std::set<alphabet::RankedSymbol> alphabet {a, b, c};
 
-	std::vector<tree::RankedNode *> children3 (0);
-	tree::RankedNode * node3 = new tree::RankedNode(c, children3);
-	std::vector<tree::RankedNode *> children4 (0);
-	tree::RankedNode * node4 = new tree::RankedNode(c, children4);
-	std::vector<tree::RankedNode *> children2 {node3};
-	tree::RankedNode * node2 = new tree::RankedNode(b, children2);
-	std::vector<tree::RankedNode *> children1 {node2, node4};
-	tree::RankedNode * node1 = new tree::RankedNode(a, children1);
-
-	std::vector<tree::RankedNode *> children6 (0);
-	tree::RankedNode * node6 = new tree::RankedNode(c, children6);
-	std::vector<tree::RankedNode *> children8 (0);
-	tree::RankedNode * node8 = new tree::RankedNode(c, children8);
-	std::vector<tree::RankedNode *> children7 {node8};
-	tree::RankedNode * node7 = new tree::RankedNode(b, children7);
-	std::vector<tree::RankedNode *> children5 {node6, node7};
-	tree::RankedNode * node5 = new tree::RankedNode(a, children5);
+	tree::RankedNode * node3 = new tree::RankedNode(c, {});
+	tree::RankedNode * node4 = new tree::RankedNode(c, {});
+	tree::RankedNode * node2 = new tree::RankedNode(b, {node3});
+	tree::RankedNode * node1 = new tree::RankedNode(a, {node2, node4});
+
+	tree::RankedNode * node6 = new tree::RankedNode(c, {});
+	tree::RankedNode * node8 = new tree::RankedNode(c, {});
+	tree::RankedNode * node7 = new tree::RankedNode(b, {node8});
+	tree::RankedNode * node5 = new tree::RankedNode(a, {node6, node7});
 
 	tree::RankedTree tree1(alphabet, std::move(*node1));
 	tree::RankedTree tree2(alphabet, std::move(*node5));
@@ -150,33 +138,27 @@ void TreeTest::testRankedTreeSymbolValidityCheck() {
 
 	const std::set<alphabet::RankedSymbol> alphabet {a, b, c, e};
 
-	std::vector<tree::RankedNode *> children3 (0);
-	tree::RankedNode * node3 = new tree::RankedNode(d, children3);
-	std::vector<tree::RankedNode *> children4 (0);
-	tree::RankedNode * node4 = new tree::RankedNode(c, children4);
-	std::vector<tree::RankedNode *> children2 {node3};
-	tree::RankedNode * node2 = new tree::RankedNode(b, children2);
-	std::vector<tree::RankedNode *> children1 {node2, node4};
-	tree::RankedNode * node1 = new tree::RankedNode(a, children1);
+	tree::RankedNode * node3 = new tree::RankedNode(d, {});
+	tree::RankedNode * node4 = new tree::RankedNode(c, {});
+	tree::RankedNode * node2 = new tree::RankedNode(b, {node3});
+	tree::RankedNode * node1 = new tree::RankedNode(a, {node2, node4});
 
 	CPPUNIT_ASSERT_THROW(tree::RankedTree tree1(alphabet, *node1), exception::AlibException);
 
-	std::vector<tree::RankedNode *> children6 (0);
-	tree::RankedNode * node6 = new tree::RankedNode(e, children6);
-	std::vector<tree::RankedNode *> children8 (0);
-	tree::RankedNode * node8 = new tree::RankedNode(c, children8);
-	std::vector<tree::RankedNode *> children7 {node8};
-	tree::RankedNode * node7 = new tree::RankedNode(b, children7);
-	std::vector<tree::RankedNode *> children5 {node6, node7};
-	tree::RankedNode * node5 = new tree::RankedNode(a, children5);
+	tree::RankedNode * node6 = new tree::RankedNode(e, {});
+	tree::RankedNode * node8 = new tree::RankedNode(c, {});
+	tree::RankedNode * node7 = new tree::RankedNode(b, {node8});
+	tree::RankedNode * node5 = new tree::RankedNode(a, {node6, node7});
 
 	tree::RankedTree * tree = NULL;
 	CPPUNIT_ASSERT_NO_THROW(tree = new tree::RankedTree(alphabet, std::move(*node5)));
+
 	CPPUNIT_ASSERT_NO_THROW(tree -> getRoot().getChildren()[0] -> setSymbol(c));
 	CPPUNIT_ASSERT_THROW(tree -> getRoot().getChildren()[1] -> setSymbol(d), exception::AlibException);
 	CPPUNIT_ASSERT_THROW(tree -> getRoot().getChildren()[0] -> setSymbol(a), exception::AlibException);
 	CPPUNIT_ASSERT_THROW(tree -> removeSymbolFromAlphabet(a), exception::AlibException);
 	CPPUNIT_ASSERT(tree -> removeSymbolFromAlphabet(e));
+
 	delete tree;
 }
 
@@ -224,7 +206,6 @@ void TreeTest::testRankedTreeSubtreeSwitch() {
 
 	CPPUNIT_ASSERT(tree3 < tree2Copy);
 	CPPUNIT_ASSERT(tree4 == tree1Copy);
-
 }
 
 void TreeTest::testUnrankedTreeParser() {
@@ -245,14 +226,10 @@ void TreeTest::testUnrankedTreeParser() {
 
 	const std::set<alphabet::LabeledSymbol> alphabet {a, b, c};
 
-	std::vector<tree::UnrankedNode *> children3;
-	tree::UnrankedNode * node3 = new tree::UnrankedNode(c, children3);
-	std::vector<tree::UnrankedNode *> children4;
-	tree::UnrankedNode * node4 = new tree::UnrankedNode(c, children4);
-	std::vector<tree::UnrankedNode *> children2 {node3};
-	tree::UnrankedNode * node2 = new tree::UnrankedNode(b, children2);
-	std::vector<tree::UnrankedNode *> children1 {node2, node4};
-	tree::UnrankedNode * node1 = new tree::UnrankedNode(a, children1);
+	tree::UnrankedNode * node3 = new tree::UnrankedNode(c, {});
+	tree::UnrankedNode * node4 = new tree::UnrankedNode(c, {});
+	tree::UnrankedNode * node2 = new tree::UnrankedNode(b, {node3});
+	tree::UnrankedNode * node1 = new tree::UnrankedNode(a, {node2, node4});
 
 	tree::UnrankedTree tree(alphabet, std::move(*node1));
 
@@ -300,23 +277,15 @@ void TreeTest::testUnrankedTreeCompare() {
 
 	const std::set<alphabet::LabeledSymbol> alphabet {a, b, c};
 
-	std::vector<tree::UnrankedNode *> children3;
-	tree::UnrankedNode * node3 = new tree::UnrankedNode(c, children3);
-	std::vector<tree::UnrankedNode *> children4;
-	tree::UnrankedNode * node4 = new tree::UnrankedNode(c, children4);
-	std::vector<tree::UnrankedNode *> children2 {node3};
-	tree::UnrankedNode * node2 = new tree::UnrankedNode(b, children2);
-	std::vector<tree::UnrankedNode *> children1 {node2, node4};
-	tree::UnrankedNode * node1 = new tree::UnrankedNode(a, children1);
-
-	std::vector<tree::UnrankedNode *> children6;
-	tree::UnrankedNode * node6 = new tree::UnrankedNode(c, children6);
-	std::vector<tree::UnrankedNode *> children8;
-	tree::UnrankedNode * node8 = new tree::UnrankedNode(c, children8);
-	std::vector<tree::UnrankedNode *> children7 {node8};
-	tree::UnrankedNode * node7 = new tree::UnrankedNode(b, children7);
-	std::vector<tree::UnrankedNode *> children5 {node6, node7};
-	tree::UnrankedNode * node5 = new tree::UnrankedNode(a, children5);
+	tree::UnrankedNode * node3 = new tree::UnrankedNode(c, {});
+	tree::UnrankedNode * node4 = new tree::UnrankedNode(c, {});
+	tree::UnrankedNode * node2 = new tree::UnrankedNode(b, {node3});
+	tree::UnrankedNode * node1 = new tree::UnrankedNode(a, {node2, node4});
+
+	tree::UnrankedNode * node6 = new tree::UnrankedNode(c, {});
+	tree::UnrankedNode * node8 = new tree::UnrankedNode(c, {});
+	tree::UnrankedNode * node7 = new tree::UnrankedNode(b, {node8});
+	tree::UnrankedNode * node5 = new tree::UnrankedNode(a, {node6, node7});
 
 	tree::UnrankedTree tree1(alphabet, std::move(*node1));
 	tree::UnrankedTree tree2(alphabet, std::move(*node5));
@@ -336,28 +305,21 @@ void TreeTest::testUnrankedTreeSymbolValidityCheck() {
 
 	const std::set<alphabet::LabeledSymbol> alphabet {a, b, c, e};
 
-	std::vector<tree::UnrankedNode *> children3 (0);
-	tree::UnrankedNode * node3 = new tree::UnrankedNode(d, children3);
-	std::vector<tree::UnrankedNode *> children4 (0);
-	tree::UnrankedNode * node4 = new tree::UnrankedNode(c, children4);
-	std::vector<tree::UnrankedNode *> children2 {node3};
-	tree::UnrankedNode * node2 = new tree::UnrankedNode(b, children2);
-	std::vector<tree::UnrankedNode *> children1 {node2, node4};
-	tree::UnrankedNode * node1 = new tree::UnrankedNode(a, children1);
+	tree::UnrankedNode * node3 = new tree::UnrankedNode(d, {});
+	tree::UnrankedNode * node4 = new tree::UnrankedNode(c, {});
+	tree::UnrankedNode * node2 = new tree::UnrankedNode(b, {node3});
+	tree::UnrankedNode * node1 = new tree::UnrankedNode(a, {node2, node4});
 
 	CPPUNIT_ASSERT_THROW(tree::UnrankedTree tree1(alphabet, *node1), exception::AlibException);
 
-	std::vector<tree::UnrankedNode *> children6 (0);
-	tree::UnrankedNode * node6 = new tree::UnrankedNode(e, children6);
-	std::vector<tree::UnrankedNode *> children8 (0);
-	tree::UnrankedNode * node8 = new tree::UnrankedNode(c, children8);
-	std::vector<tree::UnrankedNode *> children7 {node8};
-	tree::UnrankedNode * node7 = new tree::UnrankedNode(b, children7);
-	std::vector<tree::UnrankedNode *> children5 {node6, node7};
-	tree::UnrankedNode * node5 = new tree::UnrankedNode(a, children5);
+	tree::UnrankedNode * node6 = new tree::UnrankedNode(e, {});
+	tree::UnrankedNode * node8 = new tree::UnrankedNode(c, {});
+	tree::UnrankedNode * node7 = new tree::UnrankedNode(b, {node8});
+	tree::UnrankedNode * node5 = new tree::UnrankedNode(a, {node6, node7});
 
 	tree::UnrankedTree * tree = NULL;
 	CPPUNIT_ASSERT_NO_THROW(tree = new tree::UnrankedTree(alphabet, std::move(*node5)));
+
 	CPPUNIT_ASSERT_NO_THROW((*tree -> getRoot().getChildren().begin()) -> setSymbol(c));
 	CPPUNIT_ASSERT_THROW((*tree -> getRoot().getChildren().begin()) -> setSymbol(d), exception::AlibException);
 	CPPUNIT_ASSERT_NO_THROW((*(++tree -> getRoot().getChildren().begin())) -> setSymbol(a));
@@ -375,23 +337,15 @@ void TreeTest::testUnrankedTreeSubtreeSwitch() {
 	const std::set<alphabet::LabeledSymbol> alphabet1 {a, b, c, d};
 	const std::set<alphabet::LabeledSymbol> alphabet2 {a, b, c, d};
 
-	std::vector<tree::UnrankedNode *> children3;
-	tree::UnrankedNode * node3 = new tree::UnrankedNode(c, children3);
-	std::vector<tree::UnrankedNode *> children4;
-	tree::UnrankedNode * node4 = new tree::UnrankedNode(c, children4);
-	std::vector<tree::UnrankedNode *> children2 {node3};
-	tree::UnrankedNode * node2 = new tree::UnrankedNode(b, children2);
-	std::vector<tree::UnrankedNode *> children1 {node2, node4};
-	tree::UnrankedNode * node1 = new tree::UnrankedNode(a, children1);
-
-	std::vector<tree::UnrankedNode *> children6;
-	tree::UnrankedNode * node6 = new tree::UnrankedNode(d, children6);
-	std::vector<tree::UnrankedNode *> children8;
-	tree::UnrankedNode * node8 = new tree::UnrankedNode(c, children8);
-	std::vector<tree::UnrankedNode *> children7 {node8};
-	tree::UnrankedNode * node7 = new tree::UnrankedNode(b, children7);
-	std::vector<tree::UnrankedNode *> children5 {node6, node7};
-	tree::UnrankedNode * node5 = new tree::UnrankedNode(a, children5);
+	tree::UnrankedNode * node3 = new tree::UnrankedNode(c, {});
+	tree::UnrankedNode * node4 = new tree::UnrankedNode(c, {});
+	tree::UnrankedNode * node2 = new tree::UnrankedNode(b, {node3});
+	tree::UnrankedNode * node1 = new tree::UnrankedNode(a, {node2, node4});
+
+	tree::UnrankedNode * node6 = new tree::UnrankedNode(d, {});
+	tree::UnrankedNode * node8 = new tree::UnrankedNode(c, {});
+	tree::UnrankedNode * node7 = new tree::UnrankedNode(b, {node8});
+	tree::UnrankedNode * node5 = new tree::UnrankedNode(a, {node6, node7});
 
 	tree::UnrankedTree tree1(alphabet1, std::move(*node1));
 	tree::UnrankedTree tree1Copy (tree1);