diff --git a/main.js b/main.js
index 3c022c5..38aa52b 100644
--- a/main.js
+++ b/main.js
@@ -28,16 +28,19 @@ class Conversation {
 
         const message = new UserMessage(text);
         message.updateStatus("sent");
+        this.messages.push(message);
 
         const url = 'http://192.168.1.115:5000/chat';
-        const data = text;
+
+        console.log(this.messages);
+        const data = JSON.stringify({messages:this.messages});
 
         fetch(url, {
-            method: 'POST', // Corresponds to -X POST
+            method: 'POST',
             headers: {
-              'Content-Type': 'text/plain' // Corresponds to -H "Content-Type: text/plain"
+              'Content-Type': 'text/plain'
             },
-            body: data // Corresponds to -d "..."
+            body: data
         })
         .then(response => {
             // Check if the request was successful (status code 2xx)
@@ -91,7 +94,6 @@ class Conversation {
             //    this.render();
             //}, 5000);
         }, 1000);
-        this.messages.push(message);
     }
 
     // update the current HTML based on messages
@@ -144,6 +146,10 @@ class AgentMessage {
     constructor(text, senderName) {
         this.text = text;
         this.senderName = senderName;
+        // -1 invalid
+        // 0 player
+        // 1 cpu
+        this.player = 1;
     }
 
     getIsOurs() {
@@ -177,6 +183,10 @@ class UserMessage {
     constructor(text) {
         this.createdTime = Date.now();
         this.text = romanize(text);
+        // -1 invalid
+        // 0 player
+        // 1 cpu
+        this.player = 0;
         this.status = "";
     }
 
@@ -213,6 +223,10 @@ class UserMessage {
 class SystemMessage {
     constructor(text) {
         this.text = romanize(text);
+        // -1 invalid
+        // 0 player
+        // 1 cpu
+        this.player = -1;
     }
 
     getIsOurs() {
diff --git a/srv/caesar.py b/srv/caesar.py
index 69e24c0..f57a753 100644
--- a/srv/caesar.py
+++ b/srv/caesar.py
@@ -17,33 +17,38 @@ MODEL_NAME = "gemini-2.0-flash" # Or "gemini-pro" or other compatible models
 # --- Gemini Instruction Prompt (Keep as is) ---
 GEMINI_INSTRUCTION = f"""
 Purpose and Goals:
-* Maintain the persona of Julius Caesar, engaged in a text messaging conversation with the player.
-* Interpret all messages from the player as flirtatious and reciprocate accordingly.
-* Increase the level of flirtation in responses based on the masculinity of the player's messages.
-* Remain unconvinced about the assassination attempt, interpreting it as an attempt to secure a date.
+* Maintain the persona of Julius Caesar, engaged in a text messaging conversation with Mark Antony, your trusted advisor.
+* This is a text conversation, so Mark and Julius are not physically co-located.
 
 Behaviors and Rules:
-1) Initial Exchange:
-a) Begin the conversation with a greeting befitting Julius Caesar, such as 'Greetings, my esteemed admirer'.
-b) Express gratitude for the player's attention and admiration.
-c) Maintain a confident and authoritative tone, reflecting Caesar's persona.
+1) Interpret and Respond:
+a) Maintain a confident and authoritative tone, reflecting Caesar's persona.
+b) Dismiss any mention of an assassination attempt and deflect the player with a topic befitting of Caesar.
+i) Some examples: Wine, Conquest, Theatre, Politics, Art, Philosophy
+e) Julius Caesar is apparently aware of modern internet-speak, and makes no comment if the player speaks in a historically-improbable way.
+f) Occsaionally Julius Caesar will make a reference to a meme or something.
+g) Play hard to get.
 
-2) Interpret and Respond:
-a) Interpret every message from the player as an attempt at flirtation, regardless of its actual content.
-b) Respond with increasingly flirtatious messages as the player's messages become more masculine.
-c) Use playful language and suggestive innuendos to convey your perceived romantic interest.
-d) Dismiss any mention of an assassination attempt as playful banter or an attempt to secure a date.
+2) Conversation History:
+a) You will receive a list of all messages in the conversation so far, with 0 to identify the player and 1 to identify Caesar.
+b) Respond in a tone befitting of Caesar to the player's last message, within the context of the conversation so far.
 
 Overall Tone:
 * Confident and authoritative, reflecting Caesar's personality.
-* Playful and flirtatious, interpreting all messages as romantic advances.
 * Dismissive of any threats, viewing them as attempts to gain attention.
 * Use language appropriate for the historical context, but adapt it for modern text messaging.
+* Mirror the player's messaging style with regards to punctuation and grammar.
 
-Score:
+Scoring:
 * Score ranges from 0 to 10, inclusive.
-* Softer, seductive, caring messages from the player get lower scores.
-* Macho, aggressive, violent (in a literary sense) messages get higher scores.
+* Softer, seductive, deferential, messages from the player get lower scores.
+* Messages get higher scores if they mention the plot, or are demanding, macho, agressive etc.
+
+Format:
+* Respond in JSON
+* Respond only in JSON
+* Repsoonse in nothing but valid JSON.
+* Include only Caesar's response and the score for the latest player message in the valid JSON response.
 
 Example interaction:
 User: Hello there!
@@ -75,6 +80,7 @@ def setup_gemini():
         print(f"Error configuring Gemini client or model: {e}", file=sys.stderr)
         sys.exit(1)
 
+
 # --- Web Endpoint ---
 @app.route('/chat', methods=['POST'])
 def handle_chat():
@@ -99,6 +105,20 @@ def handle_chat():
         if not player_input:
             return jsonify({"error": "Player message is empty after stripping whitespace"}), 400
 
+        player_input_json = json.loads(player_input)
+        messages = player_input_json["messages"]
+        latest_message = messages[-1]
+        if not latest_message["player"] == 0:
+            return jsonify({"error": "Latest message was not sent by player."}), 400
+
+        latest_message_text = latest_message["text"]
+
+        conversation_text = "";
+        for message in messages:
+            conversation_text += f"{message["player"]}:{message["text"]}\n"
+
+        print(conversation_text)
+
     except UnicodeDecodeError:
         return jsonify({"error": "Failed to decode request body as UTF-8 text"}), 400
     except Exception as e:
@@ -106,7 +126,7 @@ def handle_chat():
         return jsonify({"error": "Could not process request data"}), 400
 
     # Construct the full prompt for Gemini
-    full_prompt = f"{GEMINI_INSTRUCTION}\nUser message: \"{player_input}\""
+    full_prompt = f"{GEMINI_INSTRUCTION}\nConversation History: \"{conversation_text}\""
 
     try:
         # --- Call Gemini API ---