diff --git a/src/main/java/de/tla2bAst/BAstCreator.java b/src/main/java/de/tla2bAst/BAstCreator.java
index 96df6c1cf117b958914af8a2dabed14197773f91..4e2b110df14a4fd987bb8eeff1d28c6a6d8c16d0 100644
--- a/src/main/java/de/tla2bAst/BAstCreator.java
+++ b/src/main/java/de/tla2bAst/BAstCreator.java
@@ -85,17 +85,15 @@ public class BAstCreator extends BuiltInOPs implements TranslationGlobals, BBuil
 		return false;
 	}
 
-	public BAstCreator(ModuleNode moduleNode, ConfigfileEvaluator conEval, SpecAnalyser specAnalyser,
-	                   UsedExternalFunctions usedExternalFunctions, PredicateVsExpression predicateVsExpression,
-	                   BMacroHandler bMacroHandler, RecursiveFunctionHandler recursiveFunctionHandler) {
-		this.predicateVsExpression = predicateVsExpression;
-		this.bMacroHandler = bMacroHandler;
-		this.recursiveFunctionHandler = recursiveFunctionHandler;
-
+	public BAstCreator(ModuleNode moduleNode, ConfigfileEvaluator conEval, SpecAnalyser specAnalyser) {
 		this.conEval = conEval;
 		this.moduleNode = moduleNode;
 		this.specAnalyser = specAnalyser;
-		this.usedExternalFunctions = usedExternalFunctions;
+
+		this.usedExternalFunctions = new UsedExternalFunctions(moduleNode, specAnalyser);
+		this.predicateVsExpression = new PredicateVsExpression(moduleNode);
+		this.bMacroHandler = new BMacroHandler(specAnalyser, conEval);
+		this.recursiveFunctionHandler = new RecursiveFunctionHandler(specAnalyser);
 
 		if (conEval != null) {
 			this.bConstants = conEval.getbConstantList();
diff --git a/src/main/java/de/tla2bAst/Translator.java b/src/main/java/de/tla2bAst/Translator.java
index d10764c4cbd79a52daef6fcc34977251f8bd8421..a347fff90e2a93e81113eef5a309f5c14cf28e7f 100644
--- a/src/main/java/de/tla2bAst/Translator.java
+++ b/src/main/java/de/tla2bAst/Translator.java
@@ -180,7 +180,9 @@ public class Translator implements TranslationGlobals {
 
 		ConfigfileEvaluator conEval = null;
 		if (modelConfig != null) {
+			// evaluate config file (get overrides and assignments):
 			conEval = new ConfigfileEvaluator(modelConfig, moduleNode);
+			// apply overrides from config file:
 			ModuleOverrider.run(moduleNode, conEval);
 			specAnalyser = SpecAnalyser.createSpecAnalyser(moduleNode, conEval);
 		} else {
@@ -190,11 +192,7 @@ public class Translator implements TranslationGlobals {
 		typechecker = new TypeChecker(moduleNode, conEval, specAnalyser);
 		typechecker.start();
 		SymbolRenamer.run(moduleNode, specAnalyser);
-		bAstCreator = new BAstCreator(moduleNode, conEval, specAnalyser,
-				new UsedExternalFunctions(moduleNode, specAnalyser),
-				new PredicateVsExpression(moduleNode),
-				new BMacroHandler(specAnalyser, conEval),
-				new RecursiveFunctionHandler(specAnalyser));
+		bAstCreator = new BAstCreator(moduleNode, conEval, specAnalyser);
 
 		this.moduleFiles = bAstCreator.getFilesOrderedById().stream()
 				.map(file -> new File(parentPath, file + ".tla")).collect(Collectors.toList());