diff --git a/src/main/java/Main.java b/src/main/java/Main.java
index cb43847723f1754389c2a7468c14aefab713e5c1..1f8d878ac642917647fee787d936024c30b18031 100644
--- a/src/main/java/Main.java
+++ b/src/main/java/Main.java
@@ -15,7 +15,7 @@ limitations under the License.
 */
 
 import complexityparser.Model;
-import complexityparser.types.env.Operators;
+import complexityparser.types.env.TypingEnv;
 import view.MainFrame;
 
 import java.io.IOException;
@@ -24,7 +24,7 @@ public class Main {
     public static void main(String[] args) {
 
         try {
-            Operators.loadInstanceFromFile();
+            TypingEnv.loadInstanceFromFile();
         } catch (IOException e) {
             System.err.println("Operator config file load failed, exiting");
             System.exit(1);
diff --git a/src/main/java/complexityparser/Model.java b/src/main/java/complexityparser/Model.java
index 3fcbe15e226a9edf22d8ce2d4961e864372b2159..2c3eebed8fa5f5e246ce41315cccae6a5c8c01fc 100644
--- a/src/main/java/complexityparser/Model.java
+++ b/src/main/java/complexityparser/Model.java
@@ -21,7 +21,7 @@ import complexityparser.analyse.antlr.JavaParser;
 import complexityparser.listener.CallGraphBuilder;
 import complexityparser.listener.TOSBuilder;
 import complexityparser.listener.TypingListener;
-import complexityparser.types.env.Operators;
+import complexityparser.types.env.TypingEnv;
 import complexityparser.types.Tier;
 import complexityparser.tierTypingVisitors.FinalPass;
 import complexityparser.tierTypingVisitors.FirstPass;
@@ -99,7 +99,7 @@ public class Model extends Observable {
      * @param code - a string of code.
      */
     public void setCode(String code) {
-        Operators.getInstance().clear();
+        TypingEnv.getInstance().clear();
         this.code = code;
         CharStream input = CharStreams.fromString(code);
         lexer = new JavaLexer(input);
@@ -154,7 +154,7 @@ public class Model extends Observable {
         //usually a good idea for debugging and testing
         //but showing bot might create a difficult to read output
 
-        System.out.println(Operators.getInstance());
+        System.out.println(TypingEnv.getInstance());
         //System.out.println(TOS.getInstance());
         //calls update on the Observer objects
         update();
diff --git a/src/main/java/complexityparser/tierTypingVisitors/FinalPass.java b/src/main/java/complexityparser/tierTypingVisitors/FinalPass.java
index 23358421d73bb33a9ff814a6fbe88e2f9d489a3d..0632407fa66a1818f329838f8b6ca1dac0f7d9e0 100644
--- a/src/main/java/complexityparser/tierTypingVisitors/FinalPass.java
+++ b/src/main/java/complexityparser/tierTypingVisitors/FinalPass.java
@@ -83,7 +83,7 @@ public class FinalPass extends ObjectVisitor {
         if(ctx.formalParameters().formalParameterList() != null) {
             nbParam = ctx.formalParameters().formalParameterList().formalParameter().size();
         }
-        Operator op = operators.get(namespace);
+        Operator op = te.get(namespace);
         if(op.size() == 0) {
             putTierType(ctx, Tier.None, Tier.None);
         }
diff --git a/src/main/java/complexityparser/tierTypingVisitors/FirstPass.java b/src/main/java/complexityparser/tierTypingVisitors/FirstPass.java
index 8ceadcdb4d845fd71005fafd160bdf80eca1fbc9..a072180fb757226dc42795429a5e93a4d7ce998d 100644
--- a/src/main/java/complexityparser/tierTypingVisitors/FirstPass.java
+++ b/src/main/java/complexityparser/tierTypingVisitors/FirstPass.java
@@ -124,7 +124,7 @@ public class FirstPass extends ObjectVisitor {
             }
             paramTiers.increment();
         }
-        operators.add(namespace, op);
+        te.add(namespace, op);
         setOverrideResult(true);
         return res;
     }
diff --git a/src/main/java/complexityparser/tierTypingVisitors/SecondPass.java b/src/main/java/complexityparser/tierTypingVisitors/SecondPass.java
index 111ca146713fbdfb05717cf6520be3c18cf9e2f7..22f3b326c7f36436bcad940c7132ce850c3bfff0 100644
--- a/src/main/java/complexityparser/tierTypingVisitors/SecondPass.java
+++ b/src/main/java/complexityparser/tierTypingVisitors/SecondPass.java
@@ -68,7 +68,7 @@ public class SecondPass extends ObjectVisitor {
         if(ctx.formalParameters().formalParameterList() != null) {
             nbParam = ctx.formalParameters().formalParameterList().formalParameter().size();
         }
-        Operator op = operators.get(namespace);
+        Operator op = te.get(namespace);
         setOverrideResult(false);
         int noBloc = getBlockNumber(ctx.methodBody().block());
         int i = 0;
diff --git a/src/main/java/complexityparser/tierTypingVisitors/base/BaseExpressionVisitor.java b/src/main/java/complexityparser/tierTypingVisitors/base/BaseExpressionVisitor.java
index b315c94e5f57180d64dfb8822596b2879e0fe10e..b651cae7797403da119a5c28702da5c42a0bddb7 100644
--- a/src/main/java/complexityparser/tierTypingVisitors/base/BaseExpressionVisitor.java
+++ b/src/main/java/complexityparser/tierTypingVisitors/base/BaseExpressionVisitor.java
@@ -160,7 +160,7 @@ public abstract class BaseExpressionVisitor extends BaseVisitor {
             in[i] = getTierType(list.get(i));
             env = Tier.max(env, getEnvironmentType(list.get(i)));
         }
-        res = operators.findRes(op, in).getOut();
+        res = te.findRes(op, in).getOut();
         putTierType(ctx, res, env);
         return res;
     }
@@ -231,12 +231,12 @@ public abstract class BaseExpressionVisitor extends BaseVisitor {
         Tier env = getEnvironmentType(ctx.expression());
         String op = ctx.prefix.getText();
         String type = getType(ctx.expression());
-        Output out = operators.findRes(op, res);
+        Output out = te.findRes(op, res);
         if(out == null || out.getOut() == Tier.None) {
             if(type.equals("int") || type.equals("boolean")) {
                 Mask m = new Mask(1);
                 m.set(0, true);
-                out = operators.findCompatibleIn(op, m, res);
+                out = te.findCompatibleIn(op, m, res);
             }
         }
         if(out != null) {
diff --git a/src/main/java/complexityparser/tierTypingVisitors/base/BaseVisitor.java b/src/main/java/complexityparser/tierTypingVisitors/base/BaseVisitor.java
index c7b156c21387b6636a069136d9b5f67e28df57d7..1eaa099e2b91cbb26c95a8220afb2b7d2f860818 100644
--- a/src/main/java/complexityparser/tierTypingVisitors/base/BaseVisitor.java
+++ b/src/main/java/complexityparser/tierTypingVisitors/base/BaseVisitor.java
@@ -17,7 +17,7 @@ limitations under the License.
 package complexityparser.tierTypingVisitors.base;
 
 import complexityparser.types.Tier;
-import complexityparser.types.env.Operators;
+import complexityparser.types.env.TypingEnv;
 import complexityparser.analyse.antlr.JavaParser;
 import complexityparser.analyse.antlr.JavaParserBaseVisitor;
 import complexityparser.listener.TOSBuilder;
@@ -47,7 +47,7 @@ public abstract class BaseVisitor extends JavaParserBaseVisitor {
     private int whileCount; //The number of while statements encountered in the current block.
     private ParseTreeProperty<Integer> blockNumbers; //The block index associated to the each node of the parse tree.
     protected TOS tos; //The table of symbols.
-    protected Operators operators; //The hashmap of operators (HashMap<String, Operator>).
+    protected TypingEnv te; //The typing environment (HashMap<String, Operator>).
     private CommonTokenStream commonTokenStream; //ANTLR token stream to show line numbers.
     private boolean overrideResult = true; //A flag to set if the final result should be overridden and if a string output should be generated.
     private boolean inInitBlock; //A flag to indicate if the visitor is currently located inside an init block or not.
@@ -61,7 +61,7 @@ public abstract class BaseVisitor extends JavaParserBaseVisitor {
         this.types = typingListener.getTypes();
         commonTokenStream = stream;
         tos = TOS.getInstance();
-        operators = Operators.getInstance();
+        te = TypingEnv.getInstance();
         currentNamespace = tos.getNameSpace(0);
         recursiveCallsCount = 0;
         recursiveCallsReceivers = new HashSet<>();
diff --git a/src/main/java/complexityparser/tierTypingVisitors/base/ObjectVisitor.java b/src/main/java/complexityparser/tierTypingVisitors/base/ObjectVisitor.java
index df553f8b746dd673d91aff3d468b0b4f2e800d2e..9e0607f11f27829fcfca520e73f6380ef8189670 100644
--- a/src/main/java/complexityparser/tierTypingVisitors/base/ObjectVisitor.java
+++ b/src/main/java/complexityparser/tierTypingVisitors/base/ObjectVisitor.java
@@ -246,9 +246,9 @@ public abstract class ObjectVisitor extends BaseBlockStatementVisitor {
         }
         //Finds the namespace in the operator table
         //and returns a compatible output with the input found in the parameters and the receiver type.
-        Output output = operators.findMethod(namespace, paramTiers.getArray());
+        Output output = te.findMethod(namespace, paramTiers.getArray());
         if(output == null || output.getOut() == Tier.None) {
-            output = operators.findCompatibleMethod(namespace, mask, paramTiers.getArray());
+            output = te.findCompatibleMethod(namespace, mask, paramTiers.getArray());
             if(output == null) {
                 res = Tier.None;
             }
diff --git a/src/main/java/complexityparser/types/Operator.java b/src/main/java/complexityparser/types/Operator.java
index ee5f90cd019fb9dcd671ec9dd8d33f2907d42b30..36dc7b6cb75756169550709834c2043674c6fb8d 100644
--- a/src/main/java/complexityparser/types/Operator.java
+++ b/src/main/java/complexityparser/types/Operator.java
@@ -21,7 +21,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
-import complexityparser.types.env.Operators;
+import complexityparser.types.env.TypingEnv;
 
 
     /**
diff --git a/src/main/java/complexityparser/types/env/OperatorTypingEnvBuilder.java b/src/main/java/complexityparser/types/env/OperatorTypingEnvBuilder.java
index 8fde03e4b91d8c7ee4c83ebc6386c8720c6cc850..4ca8906c5904e9a43af1e1cc15b6e7bb21bda5d6 100644
--- a/src/main/java/complexityparser/types/env/OperatorTypingEnvBuilder.java
+++ b/src/main/java/complexityparser/types/env/OperatorTypingEnvBuilder.java
@@ -28,11 +28,11 @@ import complexityparser.types.Output;
  */
 public class OperatorTypingEnvBuilder extends OperatorsBaseListener {
 
-    private Operators op = new Operators();
+    private TypingEnv te = new TypingEnv();
     private Operator latest;
 
-    public Operators getOp() {
-        return op;
+    public TypingEnv getOp() {
+        return te;
     }
 
     /**
@@ -42,14 +42,14 @@ public class OperatorTypingEnvBuilder extends OperatorsBaseListener {
      */
     @Override
     public void enterOperator(OperatorsParser.OperatorContext ctx) {
-        if(op == null) {
+        if(te == null) {
             return;
         }
         super.enterOperator(ctx);
         latest = new Operator(true);
         String opString = ctx.STRING_LITERAL().getText();
         opString = opString.substring(1, opString.length() - 1);
-        op.add(opString, latest);
+        te.add(opString, latest);
     }
 
     /**
@@ -58,7 +58,7 @@ public class OperatorTypingEnvBuilder extends OperatorsBaseListener {
      */
     @Override
     public void enterUnit(OperatorsParser.UnitContext ctx) {
-        if(op == null) {
+        if(te == null) {
             return;
         }
         super.enterUnit(ctx);
@@ -72,7 +72,7 @@ public class OperatorTypingEnvBuilder extends OperatorsBaseListener {
             latest.add(new Output(out, Tier.T0), in);
         } catch (IOException e) {
             e.printStackTrace();
-            op = null;
+            te = null;
         }
     }
 }
\ No newline at end of file
diff --git a/src/main/java/complexityparser/types/env/Operators.java b/src/main/java/complexityparser/types/env/TypingEnv.java
similarity index 96%
rename from src/main/java/complexityparser/types/env/Operators.java
rename to src/main/java/complexityparser/types/env/TypingEnv.java
index bba4508c58c47552e33c30c609e68bf05e84672a..93018fb5d0839e73910d4bbd8b2fdc60e2b8ec7e 100644
--- a/src/main/java/complexityparser/types/env/Operators.java
+++ b/src/main/java/complexityparser/types/env/TypingEnv.java
@@ -35,13 +35,13 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
 /**
-* This class contains information about the used operators and their (admissible) input/output tiers.
+* This class encodes typing environements, information about the operations and their (admissible) types.
 */
-public class Operators {
-    private static Operators instance = null;
+public class TypingEnv {
+    private static TypingEnv instance = null;
     private HashMap<String, Operator> operators;
 
-    protected Operators() {
+    protected TypingEnv() {
         operators = new HashMap<>();
     }
 
@@ -76,12 +76,12 @@ public class Operators {
      *
      * @return the attribute instance (null if the method #loadInstanceFromFIle() has not been called yet).
      */
-    public static Operators getInstance() {
+    public static TypingEnv getInstance() {
         return instance;
     }
 
     /**
-     * Adds an operator and a name to the hashmap #operators.
+     * Adds an operator and a name to the hashmap operators.
      * @param k - a name
      * @param o - an operator
      */
@@ -226,8 +226,8 @@ public class Operators {
      * @param fileName - a file name.
      * @return the singleton instance of Operators.
      */
-    private static Operators loadFromFile(String fileName) {
-        Operators res = null;
+    private static TypingEnv loadFromFile(String fileName) {
+        TypingEnv res = null;
         byte[] input = null;
         try {
             Path p = new File(fileName).toPath();