diff --git a/README.md b/README.md
index 8e97f6a..7c4eb4e 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ Spoken answers api with OpenAI or [LocalAI](https://github.com/go-skynet/LocalAI
 from ovos_solver_openai_persona import OpenAIPersonaSolver
 
 bot = OpenAIPersonaSolver({"key": "sk-XXX",
-                           "persona": "helpful, creative, clever, and very friendly"})
+                           "system_prompt": "You are a helpful assistant."})
 print(bot.get_spoken_answer("describe quantum mechanics in simple terms"))
 # Quantum mechanics is a branch of physics that deals with the behavior of particles on a very small scale, such as atoms and subatomic particles. It explores the idea that particles can exist in multiple states at once and that their behavior is not predictable in the traditional sense.
 print(bot.spoken_answer("Quem encontrou o caminho maritimo para o Brazil", {"lang": "pt-pt"}))
@@ -33,7 +33,7 @@ This plugin can be configured to use a LocalAI server instead of OpenAI.
     "key": <your_OpenAI_key>,
     "enable_memory": true,
     "memory_size": 15,
-    "initial_prompt": "You are a helpful assistant."
+    "system_prompt": "You are a helpful assistant."
 }
 ```
 
diff --git a/ovos_solver_openai_persona/__init__.py b/ovos_solver_openai_persona/__init__.py
index ee875bd..d5d7f37 100644
--- a/ovos_solver_openai_persona/__init__.py
+++ b/ovos_solver_openai_persona/__init__.py
@@ -1,43 +1,14 @@
-from typing import Optional
-
+import warnings
 from ovos_solver_openai_persona.engines import OpenAIChatCompletionsSolver
 
-
 class OpenAIPersonaSolver(OpenAIChatCompletionsSolver):
-    """default "Persona" engine"""
-
-    def __init__(self, config=None):
-        # defaults to gpt-3.5-turbo
-        super().__init__(config=config)
-        self.default_persona = config.get("persona") or "helpful, creative, clever, and very friendly."
-
-    def get_chat_history(self, persona=None):
-        persona = persona or self.default_persona
-        initial_prompt = f"You are a helpful assistant. " \
-                         f"You give short and factual answers. " \
-                         f"You are {persona}"
-        return super().get_chat_history(initial_prompt)
-
-    # officially exported Solver methods
-    def get_spoken_answer(self, query: str,
-                          lang: Optional[str] = None,
-                          units: Optional[str] = None) -> Optional[str]:
-        """
-        Obtain the spoken answer for a given query.
-
-        Args:
-            query (str): The query text.
-            lang (Optional[str]): Optional language code. Defaults to None.
-            units (Optional[str]): Optional units for the query. Defaults to None.
-
-        Returns:
-            str: The spoken answer as a text response.
-        """
-        answer = super().get_spoken_answer(query, lang, units)
-        if not answer or not answer.strip("?") or not answer.strip("_"):
-            return None
-        return answer
-
+    def __init__(self, *args, **kwargs):
+           warnings.warn(
+              "use OpenAIChatCompletionsSolver instead",
+              DeprecationWarning,
+              stacklevel=2,
+           )
+           super().__init__(*args, **kwargs)
 
 # for ovos-persona
 LLAMA_DEMO = {
@@ -51,9 +22,8 @@ def get_spoken_answer(self, query: str,
   }
 }
 
-
 if __name__ == "__main__":
-    bot = OpenAIPersonaSolver(LLAMA_DEMO["ovos-solver-openai-persona-plugin"])
+    bot = OpenAIChatCompletionsSolver(LLAMA_DEMO["ovos-solver-openai-persona-plugin"])
     #for utt in bot.stream_utterances("describe quantum mechanics in simple terms"):
     #    print(utt)
         #  Quantum mechanics is a branch of physics that studies the behavior of atoms and particles at the smallest scales.
diff --git a/ovos_solver_openai_persona/dialog_transformers.py b/ovos_solver_openai_persona/dialog_transformers.py
index 5b08a9f..23a4eb8 100644
--- a/ovos_solver_openai_persona/dialog_transformers.py
+++ b/ovos_solver_openai_persona/dialog_transformers.py
@@ -12,7 +12,7 @@ def __init__(self, name="ovos-dialog-transformer-openai-plugin", priority=10, co
             "key": self.config.get("key"),
             'api_url': self.config.get('api_url', 'https://api.openai.com/v1'),
             "enable_memory": False,
-            "initial_prompt": "your task is to rewrite text as if it was spoken by a different character"
+            "system_prompt": "Your task is to rewrite text as if it was spoken by a different character"
         })
 
     def transform(self, dialog: str, context: dict = None) -> Tuple[str, dict]:
diff --git a/ovos_solver_openai_persona/engines.py b/ovos_solver_openai_persona/engines.py
index f444afd..7a29cf8 100644
--- a/ovos_solver_openai_persona/engines.py
+++ b/ovos_solver_openai_persona/engines.py
@@ -93,7 +93,7 @@ def __init__(self, config=None):
         self.memory = config.get("enable_memory", True)
         self.max_utts = config.get("memory_size", 15)
         self.qa_pairs = []  # tuple of q+a
-        self.initial_prompt = config.get("initial_prompt", "You are a helpful assistant.")
+        self.system_prompt = config.get("system_prompt", "You are a helpful assistant.")
 
     # OpenAI API integration
     def _do_api_request(self, messages):
@@ -163,19 +163,19 @@ def _do_streaming_api_request(self, messages):
                     continue
                 yield chunk["choices"][0]["delta"]["content"]
 
-    def get_chat_history(self, initial_prompt=None):
+    def get_chat_history(self, system_prompt=None):
         qa = self.qa_pairs[-1 * self.max_utts:]
-        initial_prompt = initial_prompt or self.initial_prompt or "You are a helpful assistant."
+        system_prompt = system_prompt or self.system_prompt or "You are a helpful assistant."
         messages = [
-            {"role": "system", "content": initial_prompt},
+            {"role": "system", "content": system_prompt},
         ]
         for q, a in qa:
             messages.append({"role": "user", "content": q})
             messages.append({"role": "assistant", "content": a})
         return messages
 
-    def get_messages(self, utt, initial_prompt=None) -> MessageList:
-        messages = self.get_chat_history(initial_prompt)
+    def get_messages(self, utt, system_prompt=None) -> MessageList:
+        messages = self.get_chat_history(system_prompt)
         messages.append({"role": "user", "content": utt})
         return messages
 
@@ -193,6 +193,7 @@ def continue_chat(self, messages: MessageList,
         Returns:
             Optional[str]: The generated response or None if no response could be generated.
         """
+        messages = [{"role": "system", "content": self.system_prompt }] + messages
         response = self._do_api_request(messages)
         answer = post_process_sentence(response)
         if not answer or not answer.strip("?") or not answer.strip("_"):
@@ -216,6 +217,7 @@ def stream_chat_utterances(self, messages: List[Dict[str, str]],
         Returns:
             Iterable[str]: An iterable of utterances.
         """
+        messages = [{"role": "system", "content": self.system_prompt }] + messages
         answer = ""
         query = messages[-1]["content"]
         if self.memory:
@@ -267,4 +269,3 @@ def get_spoken_answer(self, query: str,
         messages = self.get_messages(query)
         # just for api compat since it's a subclass, shouldn't be directly used
         return self.continue_chat(messages=messages, lang=lang, units=units)
-
diff --git a/setup.py b/setup.py
index c7d0d44..5498f81 100755
--- a/setup.py
+++ b/setup.py
@@ -48,7 +48,7 @@ def get_version():
 
 
 PERSONA_ENTRY_POINT = 'Remote Llama=ovos_solver_openai_persona:LLAMA_DEMO'
-PLUGIN_ENTRY_POINT = 'ovos-solver-openai-persona-plugin=ovos_solver_openai_persona:OpenAIPersonaSolver'
+PLUGIN_ENTRY_POINT = 'ovos-solver-openai-persona-plugin=ovos_solver_openai_persona.engines:OpenAIChatCompletionsSolver'
 DIALOG_PLUGIN_ENTRY_POINT = 'ovos-dialog-transformer-openai-plugin=ovos_solver_openai_persona.dialog_transformers:OpenAIDialogTransformer'