diff --git a/util.c b/util.c
index 6b1f1567b93e8e636b054100d6669a1bbd209fc6..ddb1ec2928e0b755ca1e332a9948b49c88100bf0 100644
--- a/util.c
+++ b/util.c
@@ -59,6 +59,42 @@ cons_cell* create_union_operator(cons_cell* ra1, cons_cell* ra2) {
 	return operator_cons;
 }
 
+cons_cell* create_cross_operator(cons_cell* ra1, cons_cell* ra2) {
+	cons_cell* ra2_cons = create_cons_cell(ra2, NULL);
+	cons_cell* ra1_cons = create_cons_cell(ra1, ra2_cons);
+	char operator[5] = "CROSS";
+	cons_cell* operator_cons = create_cons_cell_w_atom(operator, ra1_cons);
+	return operator_cons;
+}
+
+// For when you want to assign column names to another name
+cons_cell* create_assign_operator(char* col1, char* col2) {
+	cons_cell* col2_cons = create_cons_cell_w_atom(col2, NULL);
+	cons_cell* col1_cons = create_cons_cell_w_atom(col1, col2_cons);
+	char operator[2] = "AS";
+	cons_cell* operator_cons = create_cons_cell_w_atom(operator, col1_cons);
+	return operator_cons;
+}
+
+cons_cell* create_proj_operator(cons_cell* assign1, cons_cell* assign2, cons_cell* ra) {
+	cons_cell* ra_cons = create_cons_cell(ra, NULL);
+	cons_cell* assign2_cons = create_cons_cell(assign2, NULL);
+	cons_cell* assign1_cons = create_cons_cell(assign1, assign2_cons);
+	cons_cell* assign_cons = create_cons_cell(assign1_cons, ra_cons);
+	char operator[4] = "PROJ";
+	cons_cell* operator_cons = create_cons_cell_w_atom(operator, assign_cons);
+	return operator_cons;
+}
+
+cons_cell* create_not_operator(cons_cell* ra1, cons_cell* ra2) {
+	cons_cell* ra2_cons = create_cons_cell(ra2, NULL);
+	cons_cell* ra1_cons = create_cons_cell(ra1, ra2_cons);
+	char operator[3] = "NOT";
+	cons_cell* operator_cons = create_cons_cell_w_atom(operator, ra1_cons);
+	return operator_cons;
+}
+
+
 
 const char *node_types[] = {"program", "id", "query", "select_query", "body", "table path", "union_query", 
 "select list", "attrpath", "operator", "bool", "pred"};