diff --git a/aql/convertQuery.go b/aql/convertQuery.go
index 03334a8ec8e85eb74fca5d69b1ebc9806fef4ea3..d9c374ebfe78528a76b7692d5eb2e108b43a2485 100644
--- a/aql/convertQuery.go
+++ b/aql/convertQuery.go
@@ -115,11 +115,12 @@ func relationToQuery(element entity.QueryRelationStruct, JSONQuery *entity.Incom
 	if len(filters) > 0 {
 		for i := range filters {
 			filter := filters[i]
-			fmt.Println(filter.FromID)
-			fmt.Println(element.FromID)
-			fmt.Println(filter.FromType)
-			fmt.Println(element.FromType)
-			if filter.FromType == element.FromType && filter.FromID == element.FromID {
+			filter2 := filter
+			for filter2.FromType == "filter" {
+				filters2 := tryGetFilterTo("filter", filter.ID, JSONQuery)
+				filter2 = filters2[0]
+			}
+			if filter2.FromType == element.FromType && filter2.FromID == element.FromID {
 				ret += fmt.Sprintf("\tFOR y in f%v\n", filter.ID)
 				ydefined = true
 			} else {
@@ -154,7 +155,14 @@ func functionToQuery(element entity.QueryGroupByStruct, JSONQuery *entity.Incomi
 
 func filterToQuery(element entity.QueryFilterStruct, JSONQuery *entity.IncomingQueryJSON) string {
 	thisname := fmt.Sprintf("f%v", element.ID)
-	ret := createLetFor(thisname, fmt.Sprintf("%v%v", typeToPrefix(element.FromType), element.FromID))
+	var filteredpill string
+	filters := tryGetFilterTo("filter", element.ID, JSONQuery)
+	if len(filters) > 0 {
+		filteredpill = fmt.Sprintf("f%v", filters[0].ID)
+	} else {
+		filteredpill = fmt.Sprintf("%v%v", typeToPrefix(element.FromType), element.FromID)
+	}
+	ret := createLetFor(thisname, filteredpill)
 	if element.FromType == "groupBy" {
 		ret += fmt.Sprintf("\tFILTER x.modifier %v %v\n", wordsToLogicalSign((element.MatchType)), element.Value)
 	} else {
@@ -242,7 +250,7 @@ func createGroupBy(element entity.QueryGroupByStruct, JSONQuery *entity.Incoming
 	tuplename := fmt.Sprintf("gt%v", element.ID)
 	result := createLetFor(thisname, tuplename)
 	result += createCollect(element)
-	result += "\tRETURN {\n\t_id: c,\n\t\"modifier\": variable_0\n\t}\n)\n"
+	result += "\tRETURN {\n\t_id: c,\n\tmodifier: variable_0\n\t}\n)\n"
 	return result
 }
 
diff --git a/main/main.go b/main/main.go
index b256d07c8f0aa4e471382388213c9cd723ac3e1a..b73a9169ffdf08d8833b41952f7247468acd12c4 100644
--- a/main/main.go
+++ b/main/main.go
@@ -20,7 +20,7 @@ The main function that calls the appropriate functions
 */
 func main() {
 	queryservice := aql.NewService()
-	jsonFile, err := os.Open("../test2.json")
+	jsonFile, err := os.Open("../test3.json")
 	// if we os.Open returns an error then handle it
 	if err != nil {
 		log.Println(err)
diff --git a/test3.json b/test3.json
new file mode 100644
index 0000000000000000000000000000000000000000..93861fb8dff85a84dbfaeb3c02ef1de0410e29b4
--- /dev/null
+++ b/test3.json
@@ -0,0 +1,67 @@
+{
+    "return": {
+        "entities": [
+            0,
+            1
+        ],
+        "relations": [
+            0
+        ]
+    },
+    "entities": [
+        {
+            "ID": 0,
+            "name": "parliament"
+        },
+        {
+            "ID": 1,
+            "name": "parties"
+        }
+    ],
+    "relations": [
+        {
+            "ID": 0,
+            "name": "member_of",
+            "depth": {
+                "min": 1,
+                "max": 1
+            },
+            "fromType": "entity",
+            "fromID": 0,
+            "toType": "entity",
+            "toID": 1
+        }
+    ],
+    "groupBys": [],
+    "filters": [
+        {
+            "ID": 0,
+            "fromType": "entity",
+            "fromID": 0,
+            "toType": "filter",
+            "toID": 1,
+            "attribute": "age",
+            "value": "40",
+            "dataType": "number",
+            "matchType": "GT",
+            "inType": "",
+            "inID": 0
+        },
+        {
+            "ID": 1,
+            "fromType": "filter",
+            "fromID": 0,
+            "toType": "relation",
+            "toID": 0,
+            "attribute": "seniority",
+            "value": "3000",
+            "dataType": "number",
+            "matchType": "GT",
+            "inType": "",
+            "inID": 0
+        }
+    ],
+    "limit": 5000,
+    "modifiers": [],
+    "databaseName": "Tweede Kamer Dataset"
+}
\ No newline at end of file