diff --git a/compiler/2014/LabCommParser.parser b/compiler/2014/LabCommParser.parser
index 612320a89feeacbdd4bf7dd77b7732c19caf0b9d..812e72578004628f79d83bcdf6b2dd0b06cc2093 100644
--- a/compiler/2014/LabCommParser.parser
+++ b/compiler/2014/LabCommParser.parser
@@ -54,7 +54,20 @@ List var_decl_list =
   | var_decl_list.l var_decl.v      {: return l.add(v); :}
   ;
 
-List intentions = {: return new List(); :}
+List intentions = 
+    /* empty list */  {: return new List(); :}
+  |  intention_list.l {: return l; :}
+  ;
+
+List intention_list =
+    intention.i                      {: return new List().add(i); :}
+  | intention_list.l intention.i     {: return l.add(i); :}
+  ;
+
+String key = IDENTIFIER;
+String stringliteral = IDENTIFIER;
+
+Intention intention = LPAREN key.k COLON stringliteral.v RPAREN {: return new Intention(k,v); :};
 
 TypeInstance type_instance =
     intentions.i type.t IDENTIFIER {: return new TypeInstance(t, IDENTIFIER, i); :}
diff --git a/compiler/2014/LabCommScanner.flex b/compiler/2014/LabCommScanner.flex
index baf91ee4bd5eee749866308f8b4db6371368d25a..a0e2efa50ac1ce4fe7f95da1ae55a7332968d4c9 100644
--- a/compiler/2014/LabCommScanner.flex
+++ b/compiler/2014/LabCommScanner.flex
@@ -76,7 +76,10 @@ NonZeroDigit = [1-9]
   "}"                            { return sym(Terminals.RBRACE); }
   "["                            { return sym(Terminals.LBRACK); }
   "]"                            { return sym(Terminals.RBRACK); }
+  "("                            { return sym(Terminals.LPAREN); }
+  ")"                            { return sym(Terminals.RPAREN); }
   ";"                            { return sym(Terminals.SEMICOLON); }
+  ":"                            { return sym(Terminals.COLON); }
   ","                            { return sym(Terminals.COMMA); }
   
   {Identifier}                   { return sym(Terminals.IDENTIFIER); }
diff --git a/compiler/2014/Refactoring.jrag b/compiler/2014/Refactoring.jrag
index fbe083fbce28e76fe15a8c1c4f60c037f0601eb5..2b573d91760b01f35d127d3d43257ac559da77f8 100644
--- a/compiler/2014/Refactoring.jrag
+++ b/compiler/2014/Refactoring.jrag
@@ -11,4 +11,9 @@ aspect Refactoring {
         this(t, n, new  List<Annotation>());
         System.out.println("WARNING! TypeInstance(DataType, String) ignoring intention list");
     }
+
+    public ConcreteType.ConcreteType(Type t, String n) {
+        this(t, n, new  List<Intention>());
+        System.out.println("WARNING! ConcreteType(Type, String) ignoring intention list");
+    }
 }