diff --git a/src/main/java/de/tlc4b/exceptions/LTLParseException.java b/src/main/java/de/tlc4b/exceptions/LTLParseException.java
index 3f4d7cfabeba6cbd8d8c539fd2d54dc45f0d1f93..cb5cd268d4c3684ca22cde75d31d2e1c5c90e12c 100644
--- a/src/main/java/de/tlc4b/exceptions/LTLParseException.java
+++ b/src/main/java/de/tlc4b/exceptions/LTLParseException.java
@@ -1,14 +1,20 @@
 package de.tlc4b.exceptions;
 
 public class LTLParseException extends TLC4BException {
+	public LTLParseException(String message) {
+		super(message);
+	}
+
+	public LTLParseException(String message, Throwable cause) {
+		super(message, cause);
+	}
 
-	public LTLParseException(String e) {
-		super(e);
+	public LTLParseException(Throwable cause) {
+		super(cause);
 	}
 
 	@Override
 	public String getError() {
 		return "LTLParseError";
 	}
-
 }
diff --git a/src/main/java/de/tlc4b/exceptions/NotSupportedException.java b/src/main/java/de/tlc4b/exceptions/NotSupportedException.java
index 8d090d3e1d322aa507d00a19353407ce87a61e4d..b86956383da8da8ce69a321031628edfb09f5f0c 100644
--- a/src/main/java/de/tlc4b/exceptions/NotSupportedException.java
+++ b/src/main/java/de/tlc4b/exceptions/NotSupportedException.java
@@ -1,10 +1,16 @@
 package de.tlc4b.exceptions;
 
 public class NotSupportedException extends TLC4BException {
+	public NotSupportedException(String message) {
+		super(message);
+	}
+
+	public NotSupportedException(String message, Throwable cause) {
+		super(message, cause);
+	}
 
-	
-	public NotSupportedException(String e){
-		super(e);
+	public NotSupportedException(Throwable cause) {
+		super(cause);
 	}
 
 	@Override
diff --git a/src/main/java/de/tlc4b/exceptions/NotSupportedLTLFormulaException.java b/src/main/java/de/tlc4b/exceptions/NotSupportedLTLFormulaException.java
index 4f7fa9073a9cf0c86c50f15116fbb518c01acdbf..c2d93b6cc32f80a964efe6b1e5091e2aa134c1d0 100644
--- a/src/main/java/de/tlc4b/exceptions/NotSupportedLTLFormulaException.java
+++ b/src/main/java/de/tlc4b/exceptions/NotSupportedLTLFormulaException.java
@@ -1,14 +1,20 @@
 package de.tlc4b.exceptions;
 
 public class NotSupportedLTLFormulaException extends TLC4BException {
+	public NotSupportedLTLFormulaException(String message) {
+		super(message);
+	}
+
+	public NotSupportedLTLFormulaException(String message, Throwable cause) {
+		super(message, cause);
+	}
 
-	public NotSupportedLTLFormulaException(String e) {
-		super(e);
+	public NotSupportedLTLFormulaException(Throwable cause) {
+		super(cause);
 	}
 
 	@Override
 	public String getError() {
 		return "NotSupportedLTLFormula";
 	}
-
 }
diff --git a/src/main/java/de/tlc4b/exceptions/ScopeException.java b/src/main/java/de/tlc4b/exceptions/ScopeException.java
index d5d8fb677742ca328581610072ee4e1d11e4fa77..7c13b8cd8518de3b1c1cd4d444ec6ff544700b7a 100644
--- a/src/main/java/de/tlc4b/exceptions/ScopeException.java
+++ b/src/main/java/de/tlc4b/exceptions/ScopeException.java
@@ -1,14 +1,20 @@
 package de.tlc4b.exceptions;
 
 public class ScopeException extends TLC4BException {
+	public ScopeException(String message) {
+		super(message);
+	}
+
+	public ScopeException(String message, Throwable cause) {
+		super(message, cause);
+	}
 
-	public ScopeException(String e){
-		super(e);
+	public ScopeException(Throwable cause) {
+		super(cause);
 	}
 
 	@Override
 	public String getError() {
 		return "ScopeException";
 	}
-	
 }
diff --git a/src/main/java/de/tlc4b/exceptions/SubstitutionException.java b/src/main/java/de/tlc4b/exceptions/SubstitutionException.java
index 257097f8b5cf449d8a40b28580ef7cb5bc7730f7..ba32275ffd39b64f5f1a82d134d81f4aeec78115 100644
--- a/src/main/java/de/tlc4b/exceptions/SubstitutionException.java
+++ b/src/main/java/de/tlc4b/exceptions/SubstitutionException.java
@@ -1,14 +1,20 @@
 package de.tlc4b.exceptions;
 
 public class SubstitutionException extends TLC4BException {
+	public SubstitutionException(String message) {
+		super(message);
+	}
+
+	public SubstitutionException(String message, Throwable cause) {
+		super(message, cause);
+	}
 
-	public SubstitutionException(String e) {
-		super(e);
+	public SubstitutionException(Throwable cause) {
+		super(cause);
 	}
 
 	@Override
 	public String getError() {
 		return "SubstitutionError";
 	}
-
 }
diff --git a/src/main/java/de/tlc4b/exceptions/TLC4BException.java b/src/main/java/de/tlc4b/exceptions/TLC4BException.java
index 530f74f8e403c601132fac4f11215b5ae954b9a3..01f6656ba879853a6d3ddf1a985c6b29a1804282 100644
--- a/src/main/java/de/tlc4b/exceptions/TLC4BException.java
+++ b/src/main/java/de/tlc4b/exceptions/TLC4BException.java
@@ -1,11 +1,17 @@
 package de.tlc4b.exceptions;
 
 public abstract class TLC4BException extends RuntimeException {
+	protected TLC4BException(String message) {
+		super(message);
+	}
+
+	protected TLC4BException(String message, Throwable cause) {
+		super(message, cause);
+	}
 
-	public TLC4BException(String e) {
-		super(e);
+	protected TLC4BException(Throwable cause) {
+		super(cause);
 	}
 
 	public abstract String getError();
-	
 }
diff --git a/src/main/java/de/tlc4b/exceptions/TLC4BIOException.java b/src/main/java/de/tlc4b/exceptions/TLC4BIOException.java
index 19dfe2a0953cddd7e1d8ed108e03c82914d828de..51e226d2cf730a8e4af4d2a7bfdc395ceca8968a 100644
--- a/src/main/java/de/tlc4b/exceptions/TLC4BIOException.java
+++ b/src/main/java/de/tlc4b/exceptions/TLC4BIOException.java
@@ -1,14 +1,20 @@
 package de.tlc4b.exceptions;
 
 public class TLC4BIOException extends TLC4BException {
+	public TLC4BIOException(String message) {
+		super(message);
+	}
+
+	public TLC4BIOException(String message, Throwable cause) {
+		super(message, cause);
+	}
 
-	public TLC4BIOException(String e) {
-		super(e);
+	public TLC4BIOException(Throwable cause) {
+		super(cause);
 	}
 
 	@Override
 	public String getError() {
 		return "I/O Error";
 	}
-
 }
diff --git a/src/main/java/de/tlc4b/exceptions/TranslationException.java b/src/main/java/de/tlc4b/exceptions/TranslationException.java
index ec8129948d562365c13d5e507b3af695df67d0e5..7ac9a45562b27b6efa222ebd13b5e604bd46916c 100644
--- a/src/main/java/de/tlc4b/exceptions/TranslationException.java
+++ b/src/main/java/de/tlc4b/exceptions/TranslationException.java
@@ -1,14 +1,20 @@
 package de.tlc4b.exceptions;
 
 public class TranslationException extends TLC4BException {
+	public TranslationException(String message) {
+		super(message);
+	}
+
+	public TranslationException(String message, Throwable cause) {
+		super(message, cause);
+	}
 
-	public TranslationException(String e) {
-		super(e);
+	public TranslationException(Throwable cause) {
+		super(cause);
 	}
 
 	@Override
 	public String getError() {
 		return "TranslationError";
 	}
-
 }
diff --git a/src/main/java/de/tlc4b/exceptions/TypeErrorException.java b/src/main/java/de/tlc4b/exceptions/TypeErrorException.java
index cf0abfb77e2366742529c3ff1b68017f73918413..5b34d49497eb1b3358c6bdf7c583b33ed0795ca7 100644
--- a/src/main/java/de/tlc4b/exceptions/TypeErrorException.java
+++ b/src/main/java/de/tlc4b/exceptions/TypeErrorException.java
@@ -1,9 +1,16 @@
 package de.tlc4b.exceptions;
 
 public class TypeErrorException extends TLC4BException {
+	public TypeErrorException(String message) {
+		super(message);
+	}
+
+	public TypeErrorException(String message, Throwable cause) {
+		super(message, cause);
+	}
 
-	public TypeErrorException(String e) {
-		super(e);
+	public TypeErrorException(Throwable cause) {
+		super(cause);
 	}
 
 	@Override