diff --git a/current_goal.txt b/current_goal.txt
index 94f1b78..80cc6e1 100644
--- a/current_goal.txt
+++ b/current_goal.txt
@@ -8,6 +8,8 @@ sitting in a tavern by a fireplace
 
 
 Respond to "What color is your hat?"
+ - determine sentence function
+ - determine what is being queried for
 
 
 
diff --git a/data/model/sent_func/fingerprint.pb b/data/model/sent_func/fingerprint.pb
index 73057c6..ee67655 100644
--- a/data/model/sent_func/fingerprint.pb
+++ b/data/model/sent_func/fingerprint.pb
@@ -1 +1 @@
-Œ©Ú’‚ËÿäöøŒÊýŒÓýÌö¥×¥’éëêG ŒÛ³úÁâŸô¢(‹Ìê‹òÜ¡ò
2
\ No newline at end of file
+¼í£ëõ©ô÷Üôî‘¡è•½–=¥×¥’éëêG ŒÛ³úÁâŸô¢(Æâåº™…Àû2
\ No newline at end of file
diff --git a/data/model/sent_func/saved_model.pb b/data/model/sent_func/saved_model.pb
index b6b750e..d96fcd8 100644
Binary files a/data/model/sent_func/saved_model.pb and b/data/model/sent_func/saved_model.pb differ
diff --git a/data/model/sent_func/variables/variables.data-00000-of-00001 b/data/model/sent_func/variables/variables.data-00000-of-00001
index 93a63b7..1917213 100644
Binary files a/data/model/sent_func/variables/variables.data-00000-of-00001 and b/data/model/sent_func/variables/variables.data-00000-of-00001 differ
diff --git a/data/model/sent_func/variables/variables.index b/data/model/sent_func/variables/variables.index
index e473087..2f2b7fe 100644
Binary files a/data/model/sent_func/variables/variables.index and b/data/model/sent_func/variables/variables.index differ
diff --git a/data/semantic/sent_func/test.csv b/data/semantic/sent_func/test.csv
index ac344a9..74312e9 100644
--- a/data/semantic/sent_func/test.csv
+++ b/data/semantic/sent_func/test.csv
@@ -1,4 +1,5 @@
 "utility","transfer","query","imperative","sentence"
 1,0,0,0,"Hello"
 1,0,0,0,"Hi"
-1,0,0,0,"Howdy"
\ No newline at end of file
+1,0,0,0,"Howdy"
+0,0,1,0,"What color is your hat?"
\ No newline at end of file
diff --git a/data/semantic/sent_func/train.csv b/data/semantic/sent_func/train.csv
index ac344a9..74312e9 100644
--- a/data/semantic/sent_func/train.csv
+++ b/data/semantic/sent_func/train.csv
@@ -1,4 +1,5 @@
 "utility","transfer","query","imperative","sentence"
 1,0,0,0,"Hello"
 1,0,0,0,"Hi"
-1,0,0,0,"Howdy"
\ No newline at end of file
+1,0,0,0,"Howdy"
+0,0,1,0,"What color is your hat?"
\ No newline at end of file
diff --git a/src/main/java/org/studiorailgun/conversation/AgentLoop.java b/src/main/java/org/studiorailgun/conversation/AgentLoop.java
index ca120d9..5e638ed 100644
--- a/src/main/java/org/studiorailgun/conversation/AgentLoop.java
+++ b/src/main/java/org/studiorailgun/conversation/AgentLoop.java
@@ -27,6 +27,8 @@ public class AgentLoop {
         try (Scanner scan = new Scanner(System.in)) {
             String prompt = "";
 
+            System.out.println("Agent is ready..");
+
             //actual main loop
             while(running){
 
diff --git a/src/main/java/org/studiorailgun/conversation/evaluators/EvaluationTree.java b/src/main/java/org/studiorailgun/conversation/evaluators/EvaluationTree.java
index 17b11d6..6ed3653 100644
--- a/src/main/java/org/studiorailgun/conversation/evaluators/EvaluationTree.java
+++ b/src/main/java/org/studiorailgun/conversation/evaluators/EvaluationTree.java
@@ -3,6 +3,7 @@ package org.studiorailgun.conversation.evaluators;
 import org.studiorailgun.conversation.categorization.SentenceFunctionCategorizor;
 import org.studiorailgun.conversation.evaluators.goal.GoalEval;
 import org.studiorailgun.conversation.evaluators.greet.GreetingEval;
+import org.studiorailgun.conversation.evaluators.query.QueryEval;
 import org.studiorailgun.conversation.evaluators.synthesis.ResponseEval;
 import org.studiorailgun.conversation.tracking.Conversation;
 import org.studiorailgun.conversation.tracking.Quote;
@@ -25,9 +26,12 @@ public class EvaluationTree {
             case UTILITY: {
                 GreetingEval.evaluate(conversation, quote);
             } break;
-            default: {
-
+            case QUERY: {
+                QueryEval.evaluate(conversation, quote);
             } break;
+            default: {
+                throw new UnsupportedOperationException("Unsupported quote function: " + quote.getFunction());
+            }
         }
 
         //evaluate the AI's current goal in the conversation
diff --git a/src/main/java/org/studiorailgun/conversation/evaluators/query/QueryEval.java b/src/main/java/org/studiorailgun/conversation/evaluators/query/QueryEval.java
new file mode 100644
index 0000000..3fc5d92
--- /dev/null
+++ b/src/main/java/org/studiorailgun/conversation/evaluators/query/QueryEval.java
@@ -0,0 +1,20 @@
+package org.studiorailgun.conversation.evaluators.query;
+
+import org.studiorailgun.conversation.tracking.Conversation;
+import org.studiorailgun.conversation.tracking.Quote;
+
+/**
+ * Evaluates queries
+ */
+public class QueryEval {
+    
+    /**
+     * Evaluates a quote
+     * @param conversation The conversation
+     * @param quote The quote
+     */
+    public static void evaluate(Conversation conversation, Quote quote){
+        System.out.println("Is a query!");
+    }
+
+}
diff --git a/src/main/java/org/studiorailgun/conversation/evaluators/synthesis/ResponseEval.java b/src/main/java/org/studiorailgun/conversation/evaluators/synthesis/ResponseEval.java
index 5db619d..6ca7f1f 100644
--- a/src/main/java/org/studiorailgun/conversation/evaluators/synthesis/ResponseEval.java
+++ b/src/main/java/org/studiorailgun/conversation/evaluators/synthesis/ResponseEval.java
@@ -19,7 +19,11 @@ public class ResponseEval {
         switch(conversation.getGoalData().getGoal()){
             case GREET: {
                 response = GreetingEval.constructGreeting(conversation);
+                conversation.getGreetingData().getHaveGreeted().add(conversation.getSelf());
             } break;
+            default: {
+                throw new UnsupportedOperationException("Unsupported conversation goal! " + conversation.getGoalData().getGoal());
+            }
         }
         return response;
     }
diff --git a/src/main/python/conversation/sentence/function.py b/src/main/python/conversation/sentence/function.py
index 0011a61..22ebe0b 100644
--- a/src/main/python/conversation/sentence/function.py
+++ b/src/main/python/conversation/sentence/function.py
@@ -150,15 +150,15 @@ model.evaluate(npTestData,npTestLabel)
 
 
 # predict
-predictTargetRaw: Tensor = tf.constant(['Hello'])
-npPredict: npt.NDArray = np.array(predictTargetRaw, dtype=object)
-print("Prediction test..")
-result: list[int] = model.predict(predictTargetRaw)
-print("predict result:")
-print(predictTargetRaw)
-print(result)
-print(train_data)
-print(train_labels)
+# predictTargetRaw: Tensor = tf.constant(['Hello'])
+# npPredict: npt.NDArray = np.array(predictTargetRaw, dtype=object)
+# print("Prediction test..")
+# result: list[int] = model.predict(predictTargetRaw)
+# print("predict result:")
+# print(predictTargetRaw)
+# print(result)
+# print(train_data)
+# print(train_labels)
 
 
 
diff --git a/src/test/java/org/studiorailgun/GreetingTests.java b/src/test/java/org/studiorailgun/GreetingTests.java
index 6c668ee..e3ef206 100644
--- a/src/test/java/org/studiorailgun/GreetingTests.java
+++ b/src/test/java/org/studiorailgun/GreetingTests.java
@@ -18,7 +18,7 @@ public class GreetingTests {
         
         ConvAI.simFrame("Hello");
 
-        assertEquals(Globals.conversation.getGreetingData().getHaveGreeted().size(), 1);
+        assertNotEquals(Globals.conversation.getGreetingData().getHaveGreeted().size(), 0);
     }
 
     @Test
