diff --git a/alib2data/src/automaton/AutomatonFromXMLParser.cpp b/alib2data/src/automaton/AutomatonFromXMLParser.cpp
index 7b0395f61dfa486150ecb679a8293b5fa73bfabb..55c70aeef44d91d1aee1b81ac8a7a1017fc79621 100644
--- a/alib2data/src/automaton/AutomatonFromXMLParser.cpp
+++ b/alib2data/src/automaton/AutomatonFromXMLParser.cpp
@@ -168,7 +168,7 @@ EpsilonNFA AutomatonFromXMLParser::parseEpsilonNFA(std::list<sax::Token>& input)
 
 CompactNFA AutomatonFromXMLParser::parseCompactNFA(std::list<sax::Token>& input) const {
 	popToken(input, sax::Token::TokenType::START_ELEMENT, alib::Names::AUTOMATON_COMPACT_NFA);
-	
+
 	std::set<State> states = parseStates(input);
 	std::set<alphabet::Symbol> inputSymbols = parseInputAlphabet(input);
 	State initialState = parseInitialState(input);
@@ -426,16 +426,16 @@ OneTapeDTM AutomatonFromXMLParser::parseOneTapeDTM(std::list<sax::Token>& input)
 	popToken(input, sax::Token::TokenType::START_ELEMENT, alib::Names::AUTOMATON_ONE_TAPE_DTM);
 
 	std::set<State> states = parseStates(input);
-	std::set<alphabet::Symbol> inputSymbols = parseInputAlphabet(input);
 	std::set<alphabet::Symbol> tapeSymbols = parseTapeAlphabet(input);
+	std::set<alphabet::Symbol> inputSymbols = parseInputAlphabet(input);
 	alphabet::Symbol blank = parseBlankSymbol(input);
 	State initialState = parseInitialState(input);
 	std::set<State> finalStates = parseFinalStates(input);
 
 	OneTapeDTM automaton(initialState, blank);
 	automaton.setStates(states);
-	automaton.setInputAlphabet(inputSymbols);
 	automaton.setTapeAlphabet(tapeSymbols);
+	automaton.setInputAlphabet(inputSymbols);
 	automaton.setInitialState(initialState);
 	automaton.setFinalStates(finalStates);
 
@@ -927,7 +927,7 @@ alphabet::Symbol AutomatonFromXMLParser::parseTransitionOutputSymbol(std::list<s
 
 std::variant<string::Epsilon, alphabet::Symbol> AutomatonFromXMLParser::parseTransitionInputEpsilonSymbol(std::list<sax::Token>& input) const {
 	popToken(input, sax::Token::TokenType::START_ELEMENT, "input");
-	
+
 	if(isToken(input, sax::Token::TokenType::START_ELEMENT, "epsilon")) {
 		std::variant<string::Epsilon, alphabet::Symbol> result(string::Epsilon::EPSILON);
 		input.pop_front();
@@ -943,7 +943,7 @@ std::variant<string::Epsilon, alphabet::Symbol> AutomatonFromXMLParser::parseTra
 
 std::variant<string::Epsilon, alphabet::Symbol> AutomatonFromXMLParser::parseTransitionOutputEpsilonSymbol(std::list<sax::Token>& input) const {
 	popToken(input, sax::Token::TokenType::START_ELEMENT, "output");
-	
+
 	if(isToken(input, sax::Token::TokenType::START_ELEMENT, "epsilon")) {
 		std::variant<string::Epsilon, alphabet::Symbol> result(string::Epsilon::EPSILON);
 		input.pop_front();
diff --git a/alib2data/src/automaton/AutomatonToXMLComposer.cpp b/alib2data/src/automaton/AutomatonToXMLComposer.cpp
index 1b23ccc3ac4c69e033c265fba8152c3e9c193480..017a8ec9c0f6dd8d54fd86df1d7984d541f28a44 100644
--- a/alib2data/src/automaton/AutomatonToXMLComposer.cpp
+++ b/alib2data/src/automaton/AutomatonToXMLComposer.cpp
@@ -117,7 +117,6 @@ void AutomatonToXMLComposer::composeBottomOfTheStackSymbol(std::list<sax::Token>
 }
 
 void AutomatonToXMLComposer::composeInputToPushdownStoreOperation(std::list<sax::Token>& out, const automaton::InputDrivenNPDA& automaton) const {
-	
 	out.push_back(sax::Token("inputToPushdownStoreOperations", sax::Token::TokenType::START_ELEMENT));
 	for(const auto& pushdownStoreOperation : automaton.getPushdownStoreOperations()) {
 		out.push_back(sax::Token("operation", sax::Token::TokenType::START_ELEMENT));
@@ -793,8 +792,8 @@ void AutomatonToXMLComposer::compose(std::list<sax::Token>& out, const OneTapeDT
 	out.push_back(sax::Token(alib::Names::AUTOMATON_ONE_TAPE_DTM, sax::Token::TokenType::START_ELEMENT));
 
 	composeStates(out, automaton.getStates());
-	composeInputAlphabet(out, automaton.getInputAlphabet());
 	composeTapeAlphabet(out, automaton.getTapeAlphabet());
+	composeInputAlphabet(out, automaton.getInputAlphabet());
 	composeBlankSymbol(out, automaton.getBlankSymbol());
 	composeInitialState(out, automaton.getInitialState());
 	composeFinalStates(out, automaton.getFinalStates());
diff --git a/examples/automaton/DFSM1IS.xml b/examples/automaton/DFSM1IS.xml
deleted file mode 100644
index 0f4d2d6039a8f8d4fab33f48c4e9701286224a56..0000000000000000000000000000000000000000
--- a/examples/automaton/DFSM1IS.xml
+++ /dev/null
@@ -1,66 +0,0 @@
-<automaton>
-	<states>
-		<state>['A', 'C', 'S']</state>
-		<state>['A', 'S']</state>
-		<state>['B', 'S']</state>
-		<state>['S']</state>
-		<state>['X']</state>
-	</states>
-	<inputAlphabet>
-		<symbol>0</symbol>
-		<symbol>1</symbol>
-	</inputAlphabet>
-	<transitions>
-		<transition>
-			<from>['A', 'C', 'S']</from>
-			<input>0</input>
-			<to>['A', 'S']</to>
-		</transition>
-		<transition>
-			<from>['A', 'C', 'S']</from>
-			<input>1</input>
-			<to>['B', 'S']</to>
-		</transition>
-		<transition>
-			<from>['A', 'S']</from>
-			<input>0</input>
-			<to>['A', 'S']</to>
-		</transition>
-		<transition>
-			<from>['A', 'S']</from>
-			<input>1</input>
-			<to>['B', 'S']</to>
-		</transition>
-		<transition>
-			<from>['B', 'S']</from>
-			<input>0</input>
-			<to>['A', 'C', 'S']</to>
-		</transition>
-		<transition>
-			<from>['B', 'S']</from>
-			<input>1</input>
-			<to>['S']</to>
-		</transition>
-		<transition>
-			<from>['S']</from>
-			<input>0</input>
-			<to>['A', 'S']</to>
-		</transition>
-		<transition>
-			<from>['S']</from>
-			<input>1</input>
-			<to>['S']</to>
-		</transition>
-		<transition>
-			<from>['X']</from>
-			<input>1</input>
-			<to>['X']</to>
-		</transition>
-	</transitions>
-	<initialStates>
-		<state>['S']</state>
-	</initialStates>
-	<finalStates>
-		<state>['A', 'C', 'S']</state>
-	</finalStates>
-</automaton>
diff --git a/examples/automaton/FSM.xml b/examples/automaton/FSM.xml
deleted file mode 100644
index 93b78bb20f2343fa69b7f18627e6e1944d03158e..0000000000000000000000000000000000000000
--- a/examples/automaton/FSM.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<automaton>
-	<states>
-		<state>one</state>
-		<state>two</state>
-		<state>three</state>
-		<state>four</state>
-	</states>
-	<inputAlphabet>
-		<symbol>0</symbol>
-		<symbol>1</symbol>
-	</inputAlphabet>
-	<transitions>
-		<transition>
-			<from>four</from>
-			<input>1</input>
-			<to>four</to>
-		</transition>
-		<transition>
-			<from>four</from>
-			<input>0</input>
-			<to>one</to>
-		</transition>
-		<transition>
-			<from>one</from>
-			<input>0</input>
-			<to>two</to>
-		</transition>
-		<transition>
-			<from>one</from>
-			<input>1</input>
-			<to>one</to>
-		</transition>
-		<transition>
-			<from>three</from>
-			<input>0</input>
-			<to>four</to>
-		</transition>
-		<transition>
-			<from>three</from>
-			<input>1</input>
-			<to>three</to>
-		</transition>
-		<transition>
-			<from>two</from>
-			<input>0</input>
-			<to>three</to>
-		</transition>
-		<transition>
-			<from>two</from>
-			<input>1</input>
-			<to>two</to>
-		</transition>
-	</transitions>
-	<initialStates>
-		<state>one</state>
-	</initialStates>
-	<finalStates>
-		<state>one</state>
-	</finalStates>
-</automaton>
diff --git a/examples/automaton/FSM2.xml b/examples/automaton/FSM2.xml
deleted file mode 100644
index f30bc320b410a14fff2310506a847c137e5d1e67..0000000000000000000000000000000000000000
--- a/examples/automaton/FSM2.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<automaton>
-	<states>
-		<state>one</state>
-		<state>two</state>
-		<state>three</state>
-		<state>four</state>
-		<state>five</state>
-		<state>six</state>
-	</states>
-	<inputAlphabet>
-		<symbol>0</symbol>
-		<symbol>1</symbol>
-	</inputAlphabet>
-	<transitions>
-		<transition>
-			<from>four</from>
-			<input>1</input>
-			<to>four</to>
-		</transition>
-		<transition>
-			<from>four</from>
-			<input>0</input>
-			<to>one</to>
-		</transition>
-		<transition>
-			<from>one</from>
-			<input>0</input>
-			<to>two</to>
-		</transition>
-		<transition>
-			<from>one</from>
-			<input>1</input>
-			<to>one</to>
-		</transition>
-		<transition>
-			<from>three</from>
-			<input>0</input>
-			<to>four</to>
-		</transition>
-		<transition>
-			<from>three</from>
-			<input>1</input>
-			<to>three</to>
-		</transition>
-		<transition>
-			<from>two</from>
-			<input>0</input>
-			<to>three</to>
-		</transition>
-		<transition>
-			<from>two</from>
-			<input>1</input>
-			<to>two</to>
-		</transition>
-
-		<transition>
-			<from>five</from>
-			<input></input>
-			<to>six</to>
-		</transition>
-	</transitions>
-	<initialStates>
-		<state>one</state>
-		<state>five</state>
-	</initialStates>
-	<finalStates>
-		<state>one</state>
-		<state>six</state>
-	</finalStates>
-</automaton>
diff --git a/examples/automaton/TM.xml b/examples/automaton/TM.xml
deleted file mode 100644
index 6ea26b6e4021e95856e9b0f24cc9075fe3a56504..0000000000000000000000000000000000000000
--- a/examples/automaton/TM.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<automaton>
-	<states>
-		<state>a1</state>
-		<state>a2</state>
-		<state>a3</state>
-		<state>a4</state>
-	</states>
-	<tapeAlphabet>
-		<symbol>0</symbol>
-		<symbol>1</symbol>
-		<symbol>B</symbol>
-	</tapeAlphabet>
-	<inputAlphabet>
-		<symbol>0</symbol>
-		<symbol>1</symbol>
-	</inputAlphabet>
-	<transitions>
-		<transition>
-			<from>a1</from>
-			<input>B</input>
-			<to>a2</to>
-			<output>0</output>
-			<shift>right</shift>
-		</transition>
-		<transition>
-			<from>a2</from>
-			<input>B</input>
-			<to>a3</to>
-			<output>B</output>
-			<shift>right</shift>
-		</transition>
-		<transition>
-			<from>a3</from>
-			<input>B</input>
-			<to>a4</to>
-			<output>1</output>
-			<shift>right</shift>
-		</transition>
-		<transition>
-			<from>a4</from>
-			<input>B</input>
-			<to>a1</to>
-			<output>B</output>
-			<shift>right</shift>
-		</transition>
-	</transitions>
-	<initialStates>
-		<state>a1</state>
-	</initialStates>
-	<blankSymbol>B</blankSymbol>
-	<finalStates>
-	</finalStates>
-</automaton>
diff --git a/examples/automaton/TM2.xml b/examples/automaton/TM2.xml
deleted file mode 100644
index 9e7607c9699705787596beebd96c27e16a589631..0000000000000000000000000000000000000000
--- a/examples/automaton/TM2.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<automaton>
-	<states>
-		<state>q0</state>
-		<state>q1</state>
-		<state>q2</state>
-		<state>q3</state>
-		<state>q4</state>
-	</states>
-	<tapeAlphabet>
-		<symbol>0</symbol>
-		<symbol>1</symbol>
-		<symbol>X</symbol>
-		<symbol>Y</symbol>
-		<symbol>B</symbol>
-	</tapeAlphabet>
-	<inputAlphabet>
-		<symbol>0</symbol>
-		<symbol>1</symbol>
-	</inputAlphabet>
-	<transitions>
-		<transition>
-			<from>q0</from>
-			<input>0</input>
-			<to>q1</to>
-			<output>X</output>
-			<shift>right</shift>
-		</transition>
-		<transition>
-			<from>q1</from>
-			<input>0</input>
-			<to>q1</to>
-			<output>0</output>
-			<shift>right</shift>
-		</transition>
-		<transition>
-			<from>q1</from>
-			<input>Y</input>
-			<to>q1</to>
-			<output>Y</output>
-			<shift>right</shift>
-		</transition>
-		<transition>
-			<from>q1</from>
-			<input>1</input>
-			<to>q2</to>
-			<output>Y</output>
-			<shift>left</shift>
-		</transition>
-		<transition>
-			<from>q2</from>
-			<input>Y</input>
-			<to>q2</to>
-			<output>Y</output>
-			<shift>left</shift>
-		</transition>
-		<transition>
-			<from>q2</from>
-			<input>0</input>
-			<to>q2</to>
-			<output>0</output>
-			<shift>left</shift>
-		</transition>
-		<transition>
-			<from>q2</from>
-			<input>X</input>
-			<to>q0</to>
-			<output>X</output>
-			<shift>right</shift>
-		</transition>
-		<transition>
-			<from>q0</from>
-			<input>Y</input>
-			<to>q3</to>
-			<output>Y</output>
-			<shift>right</shift>
-		</transition>
-		<transition>
-			<from>q3</from>
-			<input>Y</input>
-			<to>q3</to>
-			<output>Y</output>
-			<shift>right</shift>
-		</transition>
-		<transition>
-			<from>q3</from>
-			<input>B</input>
-			<to>q4</to>
-			<output>B</output>
-			<shift>right</shift>
-		</transition>
-	</transitions>
-	<initialStates>
-		<state>q0</state>
-	</initialStates>
-	<blankSymbol>B</blankSymbol>
-	<finalStates>
-		<state>q4</state>
-	</finalStates>
-</automaton>
diff --git a/examples/automaton/TM3.xml b/examples/automaton/TM3.xml
deleted file mode 100644
index 6506702c96d436b085b10495b9882df1e08e92a4..0000000000000000000000000000000000000000
--- a/examples/automaton/TM3.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<automaton>
-	<states>
-		<state>a1</state>
-		<state>a2</state>
-	</states>
-	<tapeAlphabet>
-		<symbol>0</symbol>
-		<symbol>1</symbol>
-		<symbol>B</symbol>
-	</tapeAlphabet>
-	<inputAlphabet>
-		<symbol>0</symbol>
-		<symbol>1</symbol>
-	</inputAlphabet>
-	<transitions>
-		<transition>
-			<from>a1</from>
-			<input>0</input>
-			<to>a2</to>
-			<output>0</output>
-			<shift>right</shift>
-		</transition>
-		<transition>
-			<from>a2</from>
-			<input>1</input>
-			<to>a1</to>
-			<output>1</output>
-			<shift>left</shift>
-		</transition>
-		<transition>
-			<from>a2</from>
-			<input>B</input>
-			<to>a2</to>
-			<output>1</output>
-			<shift>none</shift>
-		</transition>
-	</transitions>
-	<initialStates>
-		<state>a1</state>
-	</initialStates>
-	<blankSymbol>B</blankSymbol>
-	<finalStates>
-	</finalStates>
-</automaton>
diff --git a/examples2/automaton/DFSM1IS.xml b/examples2/automaton/DFSM1IS.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ded0536a9862ed421112b7bba32acdd966932b6e
--- /dev/null
+++ b/examples2/automaton/DFSM1IS.xml
@@ -0,0 +1,66 @@
+<DFA>
+	<states>
+		<PrimitiveLabel><String>['A', 'C', 'S']</String></PrimitiveLabel>
+		<PrimitiveLabel><String>['A', 'S']</String></PrimitiveLabel>
+		<PrimitiveLabel><String>['B', 'S']</String></PrimitiveLabel>
+		<PrimitiveLabel><String>['S']</String></PrimitiveLabel>
+		<PrimitiveLabel><String>['X']</String></PrimitiveLabel>
+	</states>
+	<inputAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol>
+	</inputAlphabet>
+	<initialStates>
+		<PrimitiveLabel><String>['S']</String></PrimitiveLabel>
+	</initialStates>
+	<finalStates>
+		<PrimitiveLabel><String>['A', 'C', 'S']</String></PrimitiveLabel>
+	</finalStates>
+	<transitions>
+		<transition>
+			<from><PrimitiveLabel><String>['A', 'C', 'S']</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>['A', 'S']</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>['A', 'C', 'S']</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>['B', 'S']</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>['A', 'S']</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>['A', 'S']</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>['A', 'S']</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>['B', 'S']</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>['B', 'S']</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>['A', 'C', 'S']</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>['B', 'S']</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>['S']</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>['S']</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>['A', 'S']</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>['S']</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>['S']</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>['X']</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>['X']</String></PrimitiveLabel></to>
+		</transition>
+	</transitions>
+</DFA>
diff --git a/examples2/automaton/FSM.xml b/examples2/automaton/FSM.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0e48fb790f056c89388d139b3be865051133ad9e
--- /dev/null
+++ b/examples2/automaton/FSM.xml
@@ -0,0 +1,60 @@
+<DFA>
+	<states>
+		<PrimitiveLabel><String>one</String></PrimitiveLabel>
+		<PrimitiveLabel><String>two</String></PrimitiveLabel>
+		<PrimitiveLabel><String>three</String></PrimitiveLabel>
+		<PrimitiveLabel><String>four</String></PrimitiveLabel>
+	</states>
+	<inputAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol>
+	</inputAlphabet>
+	<transitions>
+		<transition>
+			<from><PrimitiveLabel><String>four</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>four</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>four</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>one</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>one</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>two</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>one</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>one</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>three</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>four</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>three</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>three</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>two</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>three</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>two</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>two</String></PrimitiveLabel></to>
+		</transition>
+	</transitions>
+	<initialStates>
+		<PrimitiveLabel><String>one</String></PrimitiveLabel>
+	</initialStates>
+	<finalStates>
+		<PrimitiveLabel><String>one</String></PrimitiveLabel>
+	</finalStates>
+</DFA>
diff --git a/examples2/automaton/FSM2.xml b/examples2/automaton/FSM2.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6dddce5eb69c4f0ee4a3715547e649b72623873c
--- /dev/null
+++ b/examples2/automaton/FSM2.xml
@@ -0,0 +1,80 @@
+<EpsilonNFA>
+	<states>
+		<PrimitiveLabel><String>one</String></PrimitiveLabel>
+		<PrimitiveLabel><String>two</String></PrimitiveLabel>
+		<PrimitiveLabel><String>three</String></PrimitiveLabel>
+		<PrimitiveLabel><String>four</String></PrimitiveLabel>
+		<PrimitiveLabel><String>five</String></PrimitiveLabel>
+		<PrimitiveLabel><String>six</String></PrimitiveLabel>
+		<PrimitiveLabel><String>zero</String></PrimitiveLabel>
+	</states>
+	<inputAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol>
+	</inputAlphabet>
+	<initialState>
+		<PrimitiveLabel><String>zero</String></PrimitiveLabel>
+	</initialState>
+	<finalStates>
+		<PrimitiveLabel><String>one</String></PrimitiveLabel>
+		<PrimitiveLabel><String>six</String></PrimitiveLabel>
+	</finalStates>
+	<transitions>
+		<transition>
+			<from><PrimitiveLabel><String>four</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>four</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>four</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>one</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>one</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>two</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>one</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>one</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>three</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>four</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>three</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>three</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>two</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>three</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>two</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>two</String></PrimitiveLabel></to>
+		</transition>
+
+		<transition>
+			<from><PrimitiveLabel><String>five</String></PrimitiveLabel></from>
+			<input><epsilon/></input>
+			<to><PrimitiveLabel><String>six</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>zero</String></PrimitiveLabel></from>
+			<input><epsilon/></input>
+			<to><PrimitiveLabel><String>five</String></PrimitiveLabel></to>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>zero</String></PrimitiveLabel></from>
+			<input><epsilon/></input>
+			<to><PrimitiveLabel><String>one</String></PrimitiveLabel></to>
+		</transition>
+	</transitions>
+</EpsilonNFA>
diff --git a/examples2/automaton/TM.xml b/examples2/automaton/TM.xml
new file mode 100644
index 0000000000000000000000000000000000000000..125013344ba76151825f8e013a352617f9bf56df
--- /dev/null
+++ b/examples2/automaton/TM.xml
@@ -0,0 +1,53 @@
+<OneTapeDTM>
+	<states>
+		<PrimitiveLabel><String>a1</String></PrimitiveLabel>
+		<PrimitiveLabel><String>a2</String></PrimitiveLabel>
+		<PrimitiveLabel><String>a3</String></PrimitiveLabel>
+		<PrimitiveLabel><String>a4</String></PrimitiveLabel>
+	</states>
+	<tapeAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol>
+	</tapeAlphabet>
+	<inputAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol>
+	</inputAlphabet>
+	<blankSymbol><LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol></blankSymbol>
+	<initialState>
+		<PrimitiveLabel><String>a1</String></PrimitiveLabel>
+	</initialState>
+	<finalStates>
+	</finalStates>
+	<transitions>
+		<transition>
+			<from><PrimitiveLabel><String>a1</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>a2</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>right</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>a2</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>a3</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>right</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>a3</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>a4</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>right</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>a4</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>a1</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>right</shift>
+		</transition>
+	</transitions>
+</OneTapeDTM>
diff --git a/examples2/automaton/TM2.xml b/examples2/automaton/TM2.xml
new file mode 100644
index 0000000000000000000000000000000000000000..90141af90a646f959e558e59689c1a23fa36c97e
--- /dev/null
+++ b/examples2/automaton/TM2.xml
@@ -0,0 +1,99 @@
+<OneTapeDTM>
+	<states>
+		<PrimitiveLabel><String>q0</String></PrimitiveLabel>
+		<PrimitiveLabel><String>q1</String></PrimitiveLabel>
+		<PrimitiveLabel><String>q2</String></PrimitiveLabel>
+		<PrimitiveLabel><String>q3</String></PrimitiveLabel>
+		<PrimitiveLabel><String>q4</String></PrimitiveLabel>
+	</states>
+	<tapeAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>X</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>Y</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol>
+	</tapeAlphabet>
+	<inputAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol>
+	</inputAlphabet>
+	<blankSymbol><LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol></blankSymbol>
+	<initialState>
+		<PrimitiveLabel><String>q0</String></PrimitiveLabel>
+	</initialState>
+	<finalStates>
+		<PrimitiveLabel><String>q4</String></PrimitiveLabel>
+	</finalStates>
+	<transitions>
+		<transition>
+			<from><PrimitiveLabel><String>q0</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>q1</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>X</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>right</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>q1</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>q1</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>right</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>q1</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>Y</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>q1</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>Y</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>right</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>q1</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>q2</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>Y</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>left</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>q2</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>Y</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>q2</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>Y</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>left</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>q2</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>q2</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>left</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>q2</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>X</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>q0</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>X</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>right</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>q0</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>Y</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>q3</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>Y</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>right</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>q3</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>Y</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>q3</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>Y</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>right</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>q3</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>q4</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>right</shift>
+		</transition>
+	</transitions>
+</OneTapeDTM>
diff --git a/examples2/automaton/TM3.xml b/examples2/automaton/TM3.xml
new file mode 100644
index 0000000000000000000000000000000000000000..191ab7b657684949b98f1cf4d187f7b4093b55df
--- /dev/null
+++ b/examples2/automaton/TM3.xml
@@ -0,0 +1,44 @@
+<OneTapeDTM>
+	<states>
+		<PrimitiveLabel><String>a1</String></PrimitiveLabel>
+		<PrimitiveLabel><String>a2</String></PrimitiveLabel>
+	</states>
+	<tapeAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol>
+	</tapeAlphabet>
+	<inputAlphabet>
+		<LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol>
+	</inputAlphabet>
+	<blankSymbol><LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol></blankSymbol>
+	<initialState>
+		<PrimitiveLabel><String>a1</String></PrimitiveLabel>
+	</initialState>
+	<finalStates>
+	</finalStates>
+	<transitions>
+		<transition>
+			<from><PrimitiveLabel><String>a1</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>a2</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>0</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>right</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>a2</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>a1</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>left</shift>
+		</transition>
+		<transition>
+			<from><PrimitiveLabel><String>a2</String></PrimitiveLabel></from>
+			<input><LabeledSymbol><PrimitiveLabel><Character>B</Character></PrimitiveLabel></LabeledSymbol></input>
+			<to><PrimitiveLabel><String>a2</String></PrimitiveLabel></to>
+			<output><LabeledSymbol><PrimitiveLabel><Character>1</Character></PrimitiveLabel></LabeledSymbol></output>
+			<shift>none</shift>
+		</transition>
+	</transitions>
+</OneTapeDTM>