diff --git a/build.gradle b/build.gradle
index 62c0493d4836901c956b61b34d55f129dfbb70f2..f5663412c660299295244666a11bd66a4c0eadb8 100644
--- a/build.gradle
+++ b/build.gradle
@@ -28,7 +28,14 @@ configurations.all {
 	resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
    }
 
-def parser_version = '2.7.1-SNAPSHOT'
+def parser_version
+if (project.version.endsWith("-SNAPSHOT")) {
+	parser_version = '2.9.7-SNAPSHOT'
+}
+else {
+	parser_version = '2.9.6'
+}
+
 def tlatools_version = '1.0.2'
 
 dependencies {
@@ -85,12 +92,14 @@ task createJar(type: Jar, dependsOn: build){
 }
 
 
-task tla2b(dependsOn: createJar) << {
-        copy {
-		from('build/libs/')
-		into('.')
- 		include('TLA2B.jar')
- 	}
+task tla2b(dependsOn: createJar) {
+	doLast{
+		copy {
+			from('build/libs/')
+			into('.')
+			include('TLA2B.jar')
+		}
+	}
 }
 
 if (project.hasProperty('ossrhUsername') && project.hasProperty('ossrhPassword')) {
diff --git a/src/main/java/de/tla2b/output/Renamer.java b/src/main/java/de/tla2b/output/Renamer.java
index 87a7ddfe13d1fc1d48499d240e8391058c51fe48..1e768d72b0bbd9e5b53b0dcffbc04cf8fda14a0d 100644
--- a/src/main/java/de/tla2b/output/Renamer.java
+++ b/src/main/java/de/tla2b/output/Renamer.java
@@ -1,7 +1,7 @@
 package de.tla2b.output;
 
+import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Hashtable;
 import java.util.Set;
 
 import de.be4.classicalb.core.parser.util.Utils;
@@ -13,17 +13,17 @@ import de.be4.classicalb.core.parser.node.TIdentifierLiteral;
 
 public class Renamer extends DepthFirstAdapter {
 
-	private final java.util.Hashtable<Node, String> namesTables;
+	private final HashMap<Node, String> namesTables;
 	private final Set<String> globalNames;
 
 	public Renamer(Start start) {
-		this.namesTables = new Hashtable<Node, String>();
-		this.globalNames = new HashSet<String>();
+		this.namesTables = new HashMap<>();
+		this.globalNames = new HashSet<>();
 
 		start.apply(this);
 	}
 
-	private final static Set<String> KEYWORDS = new HashSet<String>();
+	private final static Set<String> KEYWORDS = new HashSet<>();
 	static {
 		KEYWORDS.add("seq");
 		KEYWORDS.add("left");
@@ -80,29 +80,28 @@ public class Renamer extends DepthFirstAdapter {
 
 	@Override
 	public void caseAIdentifierExpression(AIdentifierExpression node) {
-		String name = Utils.getIdentifierAsString(node.getIdentifier());
+		String name = Utils.getAIdentifierAsString(node);
 		String newName = incName(name, new HashSet<String>());
 		namesTables.put(node, newName);
 	}
 
 	@Override
-	public void caseTIdentifierLiteral(TIdentifierLiteral node){
+	public void caseTIdentifierLiteral(TIdentifierLiteral node) {
 		String name = node.getText();
 		String newName = incName(name, new HashSet<String>());
 		namesTables.put(node, newName);
 	}
-	
+
 	private Boolean existingName(String name) {
-		if (globalNames.contains(name) || KEYWORDS.contains(name)) {
-			return true;
-		} else
-			return false;
+		return globalNames.contains(name) || KEYWORDS.contains(name);
 	}
 
 	private String incName(String name, Set<String> tempSet) {
 		String res = name;
-		for (int i = 1; existingName(res) || tempSet.contains(res); i++) {
+		int i = 1;
+		while (existingName(res) || tempSet.contains(res)) {
 			res = name + "_" + i;
+			i++;
 		}
 		return res;
 	}
diff --git a/src/main/java/de/tla2bAst/BAstCreator.java b/src/main/java/de/tla2bAst/BAstCreator.java
index a0d7b0ac2fb6aeada1f9fb7b31fb389289a3524d..1286ddaa992c1f76336bb66e374bac034a848ae6 100644
--- a/src/main/java/de/tla2bAst/BAstCreator.java
+++ b/src/main/java/de/tla2bAst/BAstCreator.java
@@ -34,8 +34,6 @@ import tlc2.value.StringValue;
 import tlc2.value.Value;
 import tlc2.value.ValueConstants;
 import de.be4.classicalb.core.parser.Definitions;
-import de.be4.classicalb.core.parser.exceptions.BException;
-import de.be4.classicalb.core.parser.exceptions.CheckException;
 import de.be4.classicalb.core.parser.node.*;
 import de.hhu.stups.sablecc.patch.PositionedNode;
 import de.hhu.stups.sablecc.patch.SourcePosition;
@@ -204,7 +202,7 @@ public class BAstCreator extends BuiltInOPs
 			printed.get(i).id = i + 1;
 			eSet.setIdentifier(createTIdentifierLiteral("ENUM" + (i + 1)));
 			List<PExpression> list = new ArrayList<PExpression>();
-			for (Iterator< String>iterator = printed.get(i).modelvalues.iterator(); iterator.hasNext();) {
+			for (Iterator<String> iterator = printed.get(i).modelvalues.iterator(); iterator.hasNext();) {
 				list.add(createIdentifierNode(iterator.next()));
 			}
 			eSet.setElements(list);
@@ -262,24 +260,19 @@ public class BAstCreator extends BuiltInOPs
 
 		}
 
-		if (defs.size() > 0) {
+		if (!defs.isEmpty()) {
 			ADefinitionsMachineClause defClause = new ADefinitionsMachineClause();
 			defClause.setDefinitions(defs);
 			machineClauseList.add(defClause);
 
-			try {
-				for (PDefinition def : defs) {
-					if (def instanceof AExpressionDefinitionDefinition) {
-						bDefinitions.addDefinition((AExpressionDefinitionDefinition) def, Definitions.Type.Expression);
-					} else if (def instanceof APredicateDefinitionDefinition) {
-						bDefinitions.addDefinition((APredicateDefinitionDefinition) def, Definitions.Type.Predicate);
-					} else {
-						bDefinitions.addDefinition((ASubstitutionDefinitionDefinition) def,
-								Definitions.Type.Substitution);
-					}
+			for (PDefinition def : defs) {
+				if (def instanceof AExpressionDefinitionDefinition) {
+					bDefinitions.addDefinition((AExpressionDefinitionDefinition) def, Definitions.Type.Expression);
+				} else if (def instanceof APredicateDefinitionDefinition) {
+					bDefinitions.addDefinition((APredicateDefinitionDefinition) def, Definitions.Type.Predicate);
+				} else {
+					bDefinitions.addDefinition((ASubstitutionDefinitionDefinition) def, Definitions.Type.Substitution);
 				}
-			} catch (BException | CheckException e) {
-				throw new AssertionError(e);
 			}
 
 		}