diff --git a/ExprPrimaryNodes.py b/ExprPrimaryNodes.py
index 7f035493eca83fa54cc2417438e0cc1ee9a7f508..d1dba9a91fdde384cf37338fe35a068ee0090ed5 100644
--- a/ExprPrimaryNodes.py
+++ b/ExprPrimaryNodes.py
@@ -63,7 +63,7 @@ def makeNodeFromAllPrimary(parseTree, typeName):
     elif node.name == 'LPAREN':  # primaryNoArrayAccess LPAREN expr RPAREN
         return makeNodeFromExpr(parseTree.children[1], typeName)
     elif node.name == 'classInstanceCreate':
-        return ClassCreateNode(node, typeName)
+        return ClassCreateNode(node.children[0], typeName)
     elif node.name == 'methodInvoc':
         return MethodInvNode(node, typeName)
     elif node.name == 'fieldAccess':
@@ -267,16 +267,15 @@ class CastNode(ASTNode):
         raise Exception("ERROR: Cannot cast type {} to type {}.".format(self.right.myType.name, self.left.myType.name))
 
 ###################################################################################
-# classInstanceCreate unqualCreate
 # unqualCreate NEW name LPAREN args RPAREN
 class ClassCreateNode(ASTNode):
     # always list all fields in the init method to show the class structure
     def __init__(self, parseTree, typeName):
-        self.parseTree = parseTree.children[0] # input is classInstanceCreate unqualCreate
-        self.className = TypeNode(parseTree.children[0].children[1], typeName)
-        self.args = ArgsNode(self.parseTree.children[3], typeName)
+        self.parseTree = parseTree
+        self.className = TypeNode(parseTree.children[1], typeName)
+        self.args = ArgsNode(parseTree.children[3], typeName)
         self.env = None
-        self.children = [self.args, self.className]
+        self.children = [self.className, self.args]
         self.typeName = typeName
         self.cons = None # the constructor used to create the class
 
diff --git a/LineNodes.py b/LineNodes.py
index c129bf1868706a412152f7452a84ee35d03d842a..89cf11878b4004a351f427c9c23a48180e853d14 100644
--- a/LineNodes.py
+++ b/LineNodes.py
@@ -1,6 +1,6 @@
 from AST import ASTNode, getParseTreeNodes
 from Environment import Env
-from ExprPrimaryNodes import makeNodeFromExpr, makeNodeFromAllPrimary, MethodInvNode
+from ExprPrimaryNodes import makeNodeFromExpr, makeNodeFromAllPrimary, MethodInvNode, ClassCreateNode
 from TheTypeNode import TypeNode, TypeStruct
 
 # Contains:
@@ -43,6 +43,8 @@ def makeNodeFromStatementExpr(parseTree, typeName):
         return(makeNodeFromExpr(child, typeName))
     elif child.name == 'methodInvoc':
         return(MethodInvNode(child, typeName))
+    elif child.name == "unqualCreate":
+        return(ClassCreateNode(child, typeName))
 
 # Creates AST node from noTailStatement
 def makeNodeFromNoTailStatement(parseTree, typeName):
diff --git a/joosc.py b/joosc.py
index bda3419f63d057fca31f213e578c55cb86dc1ad7..6e1c9699e9473357eae12845c5e156f6943cc4f6 100644
--- a/joosc.py
+++ b/joosc.py
@@ -55,7 +55,6 @@ def main():
     try:
         disamiguateAndTypeChecking(ASTs)
     except Exception as e:
-        # print(e)
         return 42
 
     return 0