diff --git a/examples2/automaton/NIDPDA1.DET.xml b/examples2/automaton/NIDPDA1.DET.xml
index b0bb5a98671aeec5934963dc0cc75a0d7d8160d0..38762778cc8d1eef29debd91cc94a802753c5a60 100644
--- a/examples2/automaton/NIDPDA1.DET.xml
+++ b/examples2/automaton/NIDPDA1.DET.xml
@@ -1,88 +1,636 @@
+<?xml version="1.0"?>
 <InputDrivenDPDA>
 	<states>
-		<PrimitiveLabel><String>['0']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['1']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['1', '2']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['2']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['3']</String></PrimitiveLabel>
+		<LabelSetLabel/>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>0</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>1</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>2</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>3</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>1</String>
+			</PrimitiveLabel>
+			<PrimitiveLabel>
+				<String>2</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
 	</states>
 	<inputAlphabet>
-		<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
-		<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
-		<LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol>
-		<LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>a</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>b</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>c</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>d</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
 	</inputAlphabet>
 	<stackAlphabet>
-		<BottomOfTheStackSymbol />
-		<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
-		<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>a</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>b</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
+		<BottomOfTheStackSymbol/>
 	</stackAlphabet>
 	<initialState>
-		<PrimitiveLabel><String>['0']</String></PrimitiveLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>0</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
 	</initialState>
 	<initialStackSymbol>
-		<BottomOfTheStackSymbol />
+		<BottomOfTheStackSymbol/>
 	</initialStackSymbol>
 	<finalStates>
-		<PrimitiveLabel><String>['3']</String></PrimitiveLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>3</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
 	</finalStates>
 	<inputToPushdownStoreOperations>
 		<operation>
-			<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
-			<pop></pop>
-			<push><LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol></push>
+			<LabeledSymbol>
+				<PrimitiveLabel>
+					<Character>a</Character>
+				</PrimitiveLabel>
+			</LabeledSymbol>
+			<pop/>
+			<push>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</push>
 		</operation>
 		<operation>
-			<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
-			<pop></pop>
-			<push><LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol></push>
+			<LabeledSymbol>
+				<PrimitiveLabel>
+					<Character>b</Character>
+				</PrimitiveLabel>
+			</LabeledSymbol>
+			<pop/>
+			<push>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</push>
 		</operation>
 		<operation>
-			<LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol>
-			<pop><LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol></pop>
-			<push></push>
+			<LabeledSymbol>
+				<PrimitiveLabel>
+					<Character>c</Character>
+				</PrimitiveLabel>
+			</LabeledSymbol>
+			<pop>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</pop>
+			<push/>
 		</operation>
 		<operation>
-			<LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol>
-			<pop><LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol></pop>
-			<push></push>
+			<LabeledSymbol>
+				<PrimitiveLabel>
+					<Character>d</Character>
+				</PrimitiveLabel>
+			</LabeledSymbol>
+			<pop>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</pop>
+			<push/>
 		</operation>
 	</inputToPushdownStoreOperations>
 	<transitions>
 		<transition>
-			<from><PrimitiveLabel><String>['0']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['1']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel/>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['1']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['1', '2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel/>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['1', '2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['1', '2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel/>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['1', '2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel/>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['1', '2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['3']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['3']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
 		</transition>
 	</transitions>
 </InputDrivenDPDA>
diff --git a/examples2/automaton/NIDPDA2.DET.xml b/examples2/automaton/NIDPDA2.DET.xml
index 5afab0389a1099be7cf43e974a49e03d66dd9752..e9752e76cf470a24eabd78658b4457fb90bdc214 100644
--- a/examples2/automaton/NIDPDA2.DET.xml
+++ b/examples2/automaton/NIDPDA2.DET.xml
@@ -1,83 +1,496 @@
+<?xml version="1.0"?>
 <InputDrivenDPDA>
 	<states>
-		<PrimitiveLabel><String>['0']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['0', '1', '2']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['1', '2']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['2']</String></PrimitiveLabel>
+		<LabelSetLabel/>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>0</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>2</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>1</String>
+			</PrimitiveLabel>
+			<PrimitiveLabel>
+				<String>2</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>0</String>
+			</PrimitiveLabel>
+			<PrimitiveLabel>
+				<String>1</String>
+			</PrimitiveLabel>
+			<PrimitiveLabel>
+				<String>2</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
 	</states>
 	<inputAlphabet>
-		<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
-		<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
-		<LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>a</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>b</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>c</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
 	</inputAlphabet>
 	<stackAlphabet>
-		<BottomOfTheStackSymbol />
-		<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>a</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
+		<BottomOfTheStackSymbol/>
 	</stackAlphabet>
 	<initialState>
-		<PrimitiveLabel><String>['0']</String></PrimitiveLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>0</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
 	</initialState>
 	<initialStackSymbol>
-		<BottomOfTheStackSymbol />
+		<BottomOfTheStackSymbol/>
 	</initialStackSymbol>
 	<finalStates>
-		<PrimitiveLabel><String>['0']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['0', '1', '2']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['1', '2']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['2']</String></PrimitiveLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>0</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>2</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>1</String>
+			</PrimitiveLabel>
+			<PrimitiveLabel>
+				<String>2</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>0</String>
+			</PrimitiveLabel>
+			<PrimitiveLabel>
+				<String>1</String>
+			</PrimitiveLabel>
+			<PrimitiveLabel>
+				<String>2</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
 	</finalStates>
 	<inputToPushdownStoreOperations>
 		<operation>
-			<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
-			<pop></pop>
-			<push><LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol></push>
+			<LabeledSymbol>
+				<PrimitiveLabel>
+					<Character>a</Character>
+				</PrimitiveLabel>
+			</LabeledSymbol>
+			<pop/>
+			<push>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</push>
 		</operation>
 		<operation>
-			<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
-			<pop><LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol></pop>
-			<push></push>
+			<LabeledSymbol>
+				<PrimitiveLabel>
+					<Character>b</Character>
+				</PrimitiveLabel>
+			</LabeledSymbol>
+			<pop>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</pop>
+			<push/>
 		</operation>
 		<operation>
-			<LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol>
-			<pop><LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol></pop>
-			<push></push>
+			<LabeledSymbol>
+				<PrimitiveLabel>
+					<Character>c</Character>
+				</PrimitiveLabel>
+			</LabeledSymbol>
+			<pop>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</pop>
+			<push/>
 		</operation>
 	</inputToPushdownStoreOperations>
 	<transitions>
 		<transition>
-			<from><PrimitiveLabel><String>['0']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['0', '1', '2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel/>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['0', '1', '2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['0', '1', '2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel/>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['0', '1', '2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['1', '2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel/>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['0', '1', '2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['1', '2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['1', '2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['1', '2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
 		</transition>
 	</transitions>
 </InputDrivenDPDA>
diff --git a/examples2/automaton/NIDPDA3.DET.xml b/examples2/automaton/NIDPDA3.DET.xml
index 5096cce2c63ebf503db691976881f80d0f27a873..170d0a0bf39651741a589c340951359821a985ae 100644
--- a/examples2/automaton/NIDPDA3.DET.xml
+++ b/examples2/automaton/NIDPDA3.DET.xml
@@ -1,104 +1,898 @@
+<?xml version="1.0"?>
 <InputDrivenDPDA>
 	<states>
-		<PrimitiveLabel><String>['0']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['0', 'B1', 'C1']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['B1', 'B2', 'C2']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['B1', 'B2']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['3', 'C2']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['3']</String></PrimitiveLabel>
-		<PrimitiveLabel><String>['4']</String></PrimitiveLabel>
+		<LabelSetLabel/>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>0</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>3</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>4</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>3</String>
+			</PrimitiveLabel>
+			<PrimitiveLabel>
+				<String>C2</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>B1</String>
+			</PrimitiveLabel>
+			<PrimitiveLabel>
+				<String>B2</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>0</String>
+			</PrimitiveLabel>
+			<PrimitiveLabel>
+				<String>B1</String>
+			</PrimitiveLabel>
+			<PrimitiveLabel>
+				<String>C1</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>B1</String>
+			</PrimitiveLabel>
+			<PrimitiveLabel>
+				<String>B2</String>
+			</PrimitiveLabel>
+			<PrimitiveLabel>
+				<String>C2</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
 	</states>
 	<inputAlphabet>
-		<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
-		<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
-		<LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol>
-		<LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>a</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>b</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>c</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>d</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
 	</inputAlphabet>
 	<stackAlphabet>
-		<BottomOfTheStackSymbol />
-		<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
+		<LabeledSymbol>
+			<PrimitiveLabel>
+				<Character>a</Character>
+			</PrimitiveLabel>
+		</LabeledSymbol>
+		<BottomOfTheStackSymbol/>
 	</stackAlphabet>
 	<initialState>
-		<PrimitiveLabel><String>['0']</String></PrimitiveLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>0</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
 	</initialState>
 	<initialStackSymbol>
-		<BottomOfTheStackSymbol />
+		<BottomOfTheStackSymbol/>
 	</initialStackSymbol>
 	<finalStates>
-		<PrimitiveLabel><String>['4']</String></PrimitiveLabel>
+		<LabelSetLabel>
+			<PrimitiveLabel>
+				<String>4</String>
+			</PrimitiveLabel>
+		</LabelSetLabel>
 	</finalStates>
 	<inputToPushdownStoreOperations>
 		<operation>
-			<LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol>
-			<pop></pop>
-			<push><LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol></push>
+			<LabeledSymbol>
+				<PrimitiveLabel>
+					<Character>a</Character>
+				</PrimitiveLabel>
+			</LabeledSymbol>
+			<pop/>
+			<push>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</push>
 		</operation>
 		<operation>
-			<LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol>
-			<pop><LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol></pop>
-			<push></push>
+			<LabeledSymbol>
+				<PrimitiveLabel>
+					<Character>b</Character>
+				</PrimitiveLabel>
+			</LabeledSymbol>
+			<pop>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</pop>
+			<push/>
 		</operation>
 		<operation>
-			<LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol>
-			<pop><LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol></pop>
-			<push></push>
+			<LabeledSymbol>
+				<PrimitiveLabel>
+					<Character>c</Character>
+				</PrimitiveLabel>
+			</LabeledSymbol>
+			<pop>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</pop>
+			<push/>
 		</operation>
 		<operation>
-			<LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol>
-			<pop></pop>
-			<push></push>
+			<LabeledSymbol>
+				<PrimitiveLabel>
+					<Character>d</Character>
+				</PrimitiveLabel>
+			</LabeledSymbol>
+			<pop/>
+			<push/>
 		</operation>
 	</inputToPushdownStoreOperations>
 	<transitions>
 		<transition>
-			<from><PrimitiveLabel><String>['0']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['0', 'B1', 'C1']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel/>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['0', 'B1', 'C1']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>a</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['0', 'B1', 'C1']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel/>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['0', 'B1', 'C1']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['B1', 'B2', 'C2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel/>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['B1', 'B2', 'C2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['B1', 'B2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel/>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['B1', 'B2', 'C2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['3', 'C2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C1</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['B1', 'B2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>b</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['B1', 'B2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['B1', 'B2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['3']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['3', 'C2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>c</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['3', 'C2']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['3', 'C2']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['4']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 		<transition>
-			<from><PrimitiveLabel><String>['3']</String></PrimitiveLabel></from>
-			<input><LabeledSymbol><PrimitiveLabel><Character>d</Character></PrimitiveLabel></LabeledSymbol></input>
-			<to><PrimitiveLabel><String>['4']</String></PrimitiveLabel></to>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>4</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>4</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>4</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>4</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>4</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>4</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C1</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C1</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C1</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B2</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C1</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>0</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C1</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B2</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>a</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B2</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>b</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B2</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>c</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>3</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</to>
+		</transition>
+		<transition>
+			<from>
+				<LabelSetLabel>
+					<PrimitiveLabel>
+						<String>B1</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>B2</String>
+					</PrimitiveLabel>
+					<PrimitiveLabel>
+						<String>C2</String>
+					</PrimitiveLabel>
+				</LabelSetLabel>
+			</from>
+			<input>
+				<LabeledSymbol>
+					<PrimitiveLabel>
+						<Character>d</Character>
+					</PrimitiveLabel>
+				</LabeledSymbol>
+			</input>
+			<to>
+				<LabelSetLabel/>
+			</to>
 		</transition>
 	</transitions>
 </InputDrivenDPDA>
diff --git a/tests.adeterminize.sh b/tests.adeterminize.sh
index 7c52badc1fc204c15e9440d4cdbc83f932a1a247..ab1079a7b1e770d050cc50f3a83e564a43dd263c 100755
--- a/tests.adeterminize.sh
+++ b/tests.adeterminize.sh
@@ -135,8 +135,8 @@ function runTest {
 }
 
 runTest "NFSM" "./adeterminize2 | ./atrim2"
-#runTest "NIDPDA" "./adeterminize2"
 runTest "ENFSM" "./aepsilon2 | ./adeterminize2"
-#runTest "NPDA" "./adeterminize2"
-#runTest "NVPA" "./adeterminize2"
-#runTest "RHDPDA" "./adeterminize2"
+runTest "NIDPDA" "./adeterminize2"
+runTest "NPDA" "./adeterminize2 | ./anormalize2 --labels automaton"
+runTest "NVPA" "./adeterminize2"
+runTest "RHDPDA" "./adeterminize2"
diff --git a/tests.astringology.sh b/tests.astringology.sh
new file mode 100755
index 0000000000000000000000000000000000000000..bfe44f3047bdb12a3956a386aaa16c979201b904
--- /dev/null
+++ b/tests.astringology.sh
@@ -0,0 +1,151 @@
+#!/usr/bin/env bash
+
+# $1 test dir suffix (debug / release)
+
+# SETTINGS
+TESTCASE_ITERATIONS=100
+TESTCASE_TIMEOUT=10
+LOGFILE="log_tests.txt"
+
+RAND_STATES=18
+RAND_DENSITY="2.5"
+RAND_ALPHABET=4
+
+EXECUTABLES="arand2 aepsilon2 atrim2 adeterminize2 aminimize2 anormalize2 acompare2 aconversions2"
+TESTS_DIR="../examples2/automaton"
+
+RES_GOOD=0
+RES_FAIL=0
+RES_TIME=0
+RES_SEGV=0
+RES_UNKN=0
+
+
+# ----------------------------
+
+for FILE in $EXECUTABLES; do
+	if [ ! -f bin-$1/$FILE ]; then
+		echo "Executable $FILE is required for testing. Make sure it is in bin-$1 folder."
+		exit 1
+	fi
+done
+
+cd bin-$1/
+rm -f $LOGFILE
+
+# ----------------------------
+
+# $1 = conv command
+# $2 = return code
+# $3 = input automaton
+# $4 = output of conversion
+function log {
+	echo "----------------------------------------------------------" >> $LOGFILE
+	echo "conv: " $1 >> $LOGFILE
+	echo "ret: " $2 >> $LOGFILE
+	echo "input automaton:" >> $LOGFILE
+	echo "$3" >> $LOGFILE
+	echo "command out:" >> $LOGFILE
+	echo "$4" >> $LOGFILE
+}
+
+function generateNFA {
+	./arand2 -t FSM -d $RAND_DENSITY -n $(( $RANDOM % $RAND_STATES + 1 )) -a $(( $RANDOM % $RAND_ALPHABET + 1 )) 2>/dev/null
+}
+
+# $1 = command for conversion. Output of such command must be (eps-)NFA !!
+# $2 = automaton
+function runTest2 {
+	MDFA="./aepsilon2 | ./adeterminize2 | ./atrim2 | ./aminimize2 | ./anormalize2 --labels automaton"
+
+	TMPNFA="nfa.xml"
+	echo "$2" > $TMPNFA
+
+	OUT=`timeout $TESTCASE_TIMEOUT bash -c "./acompare2 <(cat $TMPNFA | $1 | $MDFA ) <(cat $TMPNFA | $MDFA)"`
+	RET=$?
+
+	if [ $RET == 0 ]; then # ok
+		rm $TMPNFA
+		return 0
+	fi
+
+	log "$1" $RET "$(cat $TMPNFA)" "$OUT"
+	rm $TMPNFA
+
+	if [ $RET == 124 ]; then # timeout
+		return 2
+	elif [ $RET -ge 124 ]; then #segv
+		return 3
+	else
+		return 1
+	fi
+}
+
+function registerResult {
+	case $1 in
+		0)
+			echo -n "."
+			((RES_GOOD++))
+			;;
+		1)
+			echo -n "x"
+			((RES_FAIL++))
+			;;
+		2)
+			echo -n "T"
+			((RES_TIME++))
+			;;
+		3)
+			echo -n "E"
+			((RES_SEGV++))
+			;;
+		*)
+			echo -n "?"
+			((RES_UNKN++))
+			;;
+	esac
+}
+
+function clearResults {
+	RES_GOOD=0
+	RES_FAIL=0
+	RES_TIME=0
+	RES_SEGV=0
+	RES_UNKN=0
+}
+
+function outputResults {
+	# summary
+	echo -ne "\n\t"
+	echo "RES: GOOD:" $RES_GOOD ", FAIL:" $RES_FAIL ", TIME:" $RES_TIME ", SEGV:" $RES_SEGV, "UNKN:" $RES_UNKN
+	echo ""
+}
+
+# $1 - aconversions2 sequence
+function runTest {
+	echo $1
+	echo -ne "\t"
+
+	clearResults
+
+	# predefined tests first
+	for FILE in `ls $TESTS_DIR/aconversion.test*`; do
+		runTest2 "$1" "$(cat $FILE)"
+		registerResult $?
+	done
+
+	echo -n " | "
+
+	# random tests
+	for i in $(seq 1 $TESTCASE_ITERATIONS );
+	do
+		runTest2 "$1" "$(generateNFA)"
+		registerResult $?
+	done
+
+	outputResults
+}
+
+runTest "exact" "./astringology2 -a exactMatch -s <(./aconvert2 --string_from_string <<< "\"ababbababbb\"") -p <(./aconvert2 --string_from_string <<< "\"ab\"")"
+runTest "exact" "./astringology2 -a boyerMooreHorspool -s <(./aconvert2 --string_from_string <<< "\"ababbababbb\"") -p <(./aconvert2 --string_from_string <<< "\"ab\"")"
+runTest "exact" "./arun2 -t occurrences -a <(./astringology2 -a exactMatchingAutomaton -p <(./aconvert2 --string_from_string <<< "\"ab\"") | ./adeterminize2) -i <(./aconvert2 --string_from_string <<< "\"ababbababbb\"")"