diff --git a/src/main/java/de/ids_mannheim/korap/query/serialize/QuerySerializer.java b/src/main/java/de/ids_mannheim/korap/query/serialize/QuerySerializer.java
index 6e8fb62..75041de 100644
--- a/src/main/java/de/ids_mannheim/korap/query/serialize/QuerySerializer.java
+++ b/src/main/java/de/ids_mannheim/korap/query/serialize/QuerySerializer.java
@@ -17,6 +17,8 @@
  */
 public class QuerySerializer {
 
+	public static String queryLanguageVersion;
+	
     private ObjectMapper mapper;
     private AbstractSyntaxTree ast;
     private org.slf4j.Logger log = LoggerFactory
@@ -116,7 +118,11 @@
             ast = new CosmasTree(query);
         } else if (queryLanguage.toLowerCase().equals("poliqarpplus")) {
             ast = new PoliqarpPlusTree(query);
-        } else {
+        }
+        else if (queryLanguage.toLowerCase().equals("cql")) {
+            ast = new CQLTree(query);
+        }
+        else {
             throw new QueryException(queryLanguage + " is not a supported query language!");
         }
         Map<String, Object> requestMap = ast.getRequestMap();
@@ -134,7 +140,12 @@
                 ast = new CosmasTree(query);
             } else if (ql.toLowerCase().equals("poliqarpplus")) {
                 ast = new PoliqarpPlusTree(query);
-            } else {
+            } 
+            else if (ql.toLowerCase().equals("cql")){
+            	queryLanguageVersion = "1.2"; // set me
+            	ast = new CQLTree(query);
+            }
+            else {
                 throw new QueryException(ql + " is not a supported query language!");
             }
         } catch (QueryException e) {
@@ -159,4 +170,12 @@
             return "";
         }
     }
+
+	public static String getQueryLanguageVersion() {
+		return queryLanguageVersion;
+	}
+
+	public static void setQueryLanguageVersion(String queryLanguageVersion) {
+		QuerySerializer.queryLanguageVersion = queryLanguageVersion;
+	}
 }
