diff --git a/indexer.h b/indexer.h
index 710ec4e..dfc8837 100644
--- a/indexer.h
+++ b/indexer.h
@@ -7,151 +7,98 @@
 #include <sys/stat.h>
 #include <time.h>
 #include <unistd.h>
+
 #define MAX_FILES 20000
 #define MAX_PATH 4096
 
 static const char *extensions[] = {
-    ".c",       ".cpp", ".h",    ".py", ".java",   ".js",  ".mk",   ".html",
-    "Makefile", ".css", ".json", ".cs", ".csproj", ".sln", ".toml", ".rs"};
-static size_t ext_count =
-    sizeof(extensions) /
-    sizeof(
-        extensions[0]); // Updated count to reflect the new number of extensions
+    ".c", ".cpp", ".h", ".py", ".java", ".js", ".mk", ".html",
+    "Makefile", ".css", ".json", ".cs", ".csproj", ".sln", ".toml", ".rs"
+};
+static const size_t ext_count = sizeof(extensions) / sizeof(extensions[0]);
 
 typedef struct {
-  char name[MAX_PATH];
-  char modification_date[20];
-  char creation_date[20];
-  char type[10];
-  size_t size_bytes;
+    char name[MAX_PATH];
+    char modification_date[20];
+    char creation_date[20];
+    char type[10];
+    size_t size_bytes;
 } FileInfo;
 
-FileInfo file_list[MAX_FILES];
-size_t file_count = 0;
+static FileInfo file_list[MAX_FILES];
+static size_t file_count = 0;
 
-int is_valid_extension(const char *filename, const char *extensions[],
-                       size_t ext_count) {
-  const char *dot = strrchr(filename, '.');
-  if (!dot) {
-    dot = filename;
-  }
-  for (size_t i = 0; i < ext_count; i++) {
-    if (strcmp(dot, extensions[i]) == 0) {
-      return 1;
+static int is_valid_extension(const char *filename) {
+    const char *dot = strrchr(filename, '.');
+    if (!dot) dot = filename;
+    for (size_t i = 0; i < ext_count; i++) {
+        if (strcmp(dot, extensions[i]) == 0) return 1;
     }
-  }
-  return 0;
+    return 0;
 }
 
-int is_ignored_directory(const char *dir_name) {
-  const char *ignored_dirs[] = {"env", ".venv", "node_modules", "venv",
-                                "virtualenv"};
-  for (size_t i = 0; i < sizeof(ignored_dirs) / sizeof(ignored_dirs[0]); i++) {
-    if (strcmp(dir_name, ignored_dirs[i]) == 0) {
-      return 1;
+static int is_ignored_directory(const char *dir_name) {
+    const char *ignored_dirs[] = {"env", ".venv", "node_modules", "venv", "virtualenv"};
+    for (size_t i = 0; i < sizeof(ignored_dirs) / sizeof(ignored_dirs[0]); i++) {
+        if (strcmp(dir_name, ignored_dirs[i]) == 0) return 1;
     }
-  }
-  return 0;
+    return 0;
 }
 
-void get_file_info(const char *path) {
-  struct stat file_stat;
-  if (stat(path, &file_stat) == 0) {
-    FileInfo info;
-    strncpy(info.name, path,
-            MAX_PATH -
-                1); // Copy with one less to leave space for null terminator
-    info.name[MAX_PATH - 1] = '\0'; // Ensure null termination
-    strftime(info.modification_date, sizeof(info.modification_date),
-             "%Y-%m-%d %H:%M:%S", localtime(&file_stat.st_mtime));
-    strftime(info.creation_date, sizeof(info.creation_date),
-             "%Y-%m-%d %H:%M:%S", localtime(&file_stat.st_ctime));
-    strncpy(info.type, S_ISDIR(file_stat.st_mode) ? "directory" : "file", 10);
-    info.type[9] = '\0'; // Ensure null termination
-    info.size_bytes = file_stat.st_size;
-    file_list[file_count++] = info;
-  }
+static void get_file_info(const char *path) {
+    struct stat file_stat;
+    if (stat(path, &file_stat) == 0) {
+        FileInfo info;
+        strncpy(info.name, path, MAX_PATH - 1);
+        info.name[MAX_PATH - 1] = '\0';
+        strftime(info.modification_date, sizeof(info.modification_date), "%Y-%m-%d %H:%M:%S", localtime(&file_stat.st_mtime));
+        strftime(info.creation_date, sizeof(info.creation_date), "%Y-%m-%d %H:%M:%S", localtime(&file_stat.st_ctime));
+        strncpy(info.type, S_ISDIR(file_stat.st_mode) ? "directory" : "file", sizeof(info.type) - 1);
+        info.type[sizeof(info.type) - 1] = '\0';
+        info.size_bytes = file_stat.st_size;
+        file_list[file_count++] = info;
+    }
 }
 
 char *index_directory(const char *dir_path) {
-  DIR *dir = opendir(dir_path);
-  struct dirent *entry;
-  if (dir == NULL) {
-    perror("Failed to open directory");
-    return NULL;
-  }
-
-  json_object *jarray = json_object_new_array();
-
-  while ((entry = readdir(dir)) != NULL) {
-    if (strcmp(entry->d_name, ".") != 0 && strcmp(entry->d_name, "..") != 0) {
-      if (entry->d_name[0] == '.' || is_ignored_directory(entry->d_name)) {
-        continue;
-      }
-      char full_path[MAX_PATH];
-      snprintf(full_path, sizeof(full_path), "%s/%s", dir_path, entry->d_name);
-      if (entry->d_type == DT_DIR) {
-        char *subdir_json = index_directory(full_path);
-        if (subdir_json) {
-          json_object *jsubdir = json_object_new_string(subdir_json);
-          json_object_array_add(jarray, jsubdir);
-          free(subdir_json);
-        }
-      } else if (is_valid_extension(entry->d_name, extensions, ext_count)) {
-        get_file_info(full_path);
-        json_object *jfile = json_object_new_object();
-        json_object_object_add(
-            jfile, "file_name",
-            json_object_new_string(file_list[file_count - 1].name));
-        json_object_object_add(
-            jfile, "modification_date",
-            json_object_new_string(
-                file_list[file_count - 1].modification_date));
-        json_object_object_add(
-            jfile, "creation_date",
-            json_object_new_string(file_list[file_count - 1].creation_date));
-        json_object_object_add(
-            jfile, "type",
-            json_object_new_string(file_list[file_count - 1].type));
-        json_object_object_add(
-            jfile, "size_bytes",
-            json_object_new_int64(file_list[file_count - 1].size_bytes));
-
-        // Read the file contents
-        FILE *fp = fopen(file_list[file_count - 1].name, "r");
-        if (fp != NULL) {
-          fseek(fp, 0, SEEK_END);
-          long length = ftell(fp);
-          fseek(fp, 0, SEEK_SET);
-          char *content = malloc(length + 1);
-          if (content) {
-            size_t bytesRead = fread(content, 1, length, fp);
-            if (bytesRead != length) {
-              free(content);
-              content = NULL;
-              json_object_object_add(
-                  jfile, "file_current_content_data",
-                  json_object_new_string("Error reading file"));
-            } else {
-              content[length] = '\0'; // Null-terminate the string
-              // json_object_object_add(jfile, "file_current_content_data",
-              // json_object_new_string(content));
-            }
-            free(content);
-          }
-          fclose(fp);
-        } else {
-          // json_object_object_add(jfile, "content",
-          // json_object_new_string("Unable to read file"));
-        }
-
-        json_object_array_add(jarray, jfile);
-      }
+    DIR *dir = opendir(dir_path);
+    if (!dir) {
+        perror("Failed to open directory");
+        return NULL;
     }
-  }
-  closedir(dir);
 
-  char *result = strdup(json_object_to_json_string(jarray));
-  json_object_put(jarray);
-  return result;
+    struct dirent *entry;
+    json_object *jarray = json_object_new_array();
+
+    while ((entry = readdir(dir)) != NULL) {
+        if (strcmp(entry->d_name, ".") == 0 || strcmp(entry->d_name, "..") == 0) continue;
+        if (entry->d_name[0] == '.' || is_ignored_directory(entry->d_name)) continue;
+
+        char full_path[MAX_PATH];
+        snprintf(full_path, sizeof(full_path), "%s/%s", dir_path, entry->d_name);
+
+        if (entry->d_type == DT_DIR) {
+            char *subdir_json = index_directory(full_path);
+            if (subdir_json) {
+                json_object *jsubdir = json_object_new_string(subdir_json);
+                json_object_array_add(jarray, jsubdir);
+                free(subdir_json);
+            }
+        } else if (is_valid_extension(entry->d_name)) {
+            get_file_info(full_path);
+            json_object *jfile = json_object_new_object();
+            json_object_object_add(jfile, "file_name", json_object_new_string(file_list[file_count - 1].name));
+            json_object_object_add(jfile, "modification_date", json_object_new_string(file_list[file_count - 1].modification_date));
+            json_object_object_add(jfile, "creation_date", json_object_new_string(file_list[file_count - 1].creation_date));
+            json_object_object_add(jfile, "type", json_object_new_string(file_list[file_count - 1].type));
+            json_object_object_add(jfile, "size_bytes", json_object_new_int64(file_list[file_count - 1].size_bytes));
+
+            json_object_array_add(jarray, jfile);
+        }
+    }
+    closedir(dir);
+
+    char *result = strdup(json_object_to_json_string(jarray));
+    json_object_put(jarray);
+    return result;
 }
diff --git a/main.c b/main.c
index 21fd178..39687a9 100644
--- a/main.c
+++ b/main.c
@@ -1,381 +1,261 @@
-// Written by retoor@molodetz.nl
-
-// This source code initializes a command-line application that uses OpenAI for
-// chat interactions, handles user inputs, and can start a simple HTTP server
-// with CGI support. The code allows command execution, markdown parsing, and
-// OpenAI chat integration.
-
-// External imports used in this code:
-// - openai.h
-// - markdown.h
-// - plugin.h
-// - line.h
-
-// MIT License
-//
-// Permission is hereby granted, free of charge, to any person obtaining a copy
-// of this software and associated documentation files (the "Software"), to deal
-// in the Software without restriction, including without limitation the rights
-// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the Software is
-// furnished to do so, subject to the following conditions:
-//
-// The above copyright notice and this permission notice shall be included in
-// all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-// THE SOFTWARE.
-
 #include "r.h"
 #include <signal.h>
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <locale.h>
+#include <unistd.h>
 
 #include "line.h"
 #include "markdown.h"
 #include "openai.h"
 #include "utils.h"
-#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
 #include "db_utils.h"
 
 volatile sig_atomic_t sigint_count = 0;
 time_t first_sigint_time = 0;
 bool SYNTAX_HIGHLIGHT_ENABLED = true;
 bool API_MODE = false;
+
 void help();
-void render(char *);
-bool openai_include(char *path);
-char *strreplace(char *content, char *what, char *with);
+void render(const char *);
+bool openai_include(const char *);
+char *strreplace(const char *, const char *, const char *);
 
 char *get_prompt_from_stdin(char *prompt) {
-  int index = 0;
-  prompt[index] = '\0';
-  char c = 0;
-  while ((c = getchar()) != EOF) {
-    prompt[index++] = c;
-  }
-  prompt[index++] = '\0';
-  return prompt;
+    int index = 0;
+    char c;
+    while ((c = getchar()) != EOF) {
+        prompt[index++] = c;
+    }
+    prompt[index] = '\0';
+    return prompt;
 }
 
-char *get_prompt_from_args(int c, char **argv) {
-  char *prompt = (char *)malloc(1024 * 1024 * 10 + 1);
-  char *system = (char *)malloc(1024 * 1024);
+char *get_prompt_from_args(int argc, char **argv) {
+    char *prompt = malloc(10 * 1024 * 1024 + 1);
+    char *system = malloc(1024 * 1024);
+    bool get_from_std_in = false;
 
-  system[0] = 0;
-  prompt[0] = 0;
-  bool get_from_std_in = false;
-  for (int i = 1; i < c; i++) {
-    if (!strcmp(argv[i], "--stdin")) {
-      fprintf(stderr, "%s\n", "Reading from stdin.");
-      get_from_std_in = true;
-    } else if (!strcmp(argv[i], "--verbose")) {
-      is_verbose = true;
+    for (int i = 1; i < argc; i++) {
+        if (strcmp(argv[i], "--stdin") == 0) {
+            fprintf(stderr, "Reading from stdin.\n");
+            get_from_std_in = true;
+        } else if (strcmp(argv[i], "--verbose") == 0) {
+            is_verbose = true;
+        } else if (strcmp(argv[i], "--py") == 0 && i + 1 < argc) {
+            char *py_file_path = expand_home_directory(argv[++i]);
+            fprintf(stderr, "Including \"%s\".\n", py_file_path);
+            openai_include(py_file_path);
+            free(py_file_path);
+        } else if (strcmp(argv[i], "--free") == 0) {
+            auth_free();
+        } else if (strcmp(argv[i], "--context") == 0 && i + 1 < argc) {
+            char *context_file_path = argv[++i];
+            fprintf(stderr, "Including \"%s\".\n", context_file_path);
+            openai_include(context_file_path);
+        } else if (strcmp(argv[i], "--api") == 0) {
+            API_MODE = true;
+        } else if (strcmp(argv[i], "--nh") == 0) {
+            SYNTAX_HIGHLIGHT_ENABLED = false;
+            fprintf(stderr, "Syntax highlighting disabled.\n");
+        } else if (!get_from_std_in) {
+            strcat(system, argv[i]);
+            strcat(system, (i < argc - 1) ? " " : ".");
+        }
     }
 
-    else if (!strcmp(argv[i], "--py")) {
-      if (i + 1 <= c) {
-        char *py_file_path = expand_home_directory(argv[i + 1]);
-        fprintf(stderr, "Including \"%s\".\n", py_file_path);
-        openai_include(py_file_path);
-        free(py_file_path);
-        // char * file_content = read_file(py_file_path);
-        // plugin_run(file_content);
-        i++;
-      }
-    } else if (!strcmp(argv[i], "--free")) {
-      auth_free();
-      continue;
+    if (get_from_std_in) {
+        if (*system) openai_system(system);
+        free(system);
+        prompt = get_prompt_from_stdin(prompt);
+    } else {
+        free(prompt);
+        prompt = system;
     }
 
-    else if (!strcmp(argv[i], "--context")) {
-      if (i + 1 <= c) {
-        char *context_file_path = argv[i + 1];
-        fprintf(stderr, "Including \"%s\".\n", context_file_path);
-        openai_include(context_file_path);
-        i++;
-      }
-    } else if (!strcmp(argv[i], "--api")) {
-      API_MODE = true;
-    } else if (!strcmp(argv[i], "--nh")) {
-      SYNTAX_HIGHLIGHT_ENABLED = false;
-      fprintf(stderr, "%s\n", "Syntax highlighting disabled.");
-    } else if (!get_from_std_in) {
-      strcat(system, argv[i]);
-      if (i < c - 1) {
-        strcat(system, " ");
-      } else {
-        strcat(system, ".");
-      }
+    if (!*prompt) {
+        free(prompt);
+        return NULL;
     }
-  }
-
-  if (get_from_std_in) {
-    if (*system) {
-      openai_system(system);
-    }
-    free(system);
-    prompt = get_prompt_from_stdin(prompt);
-  } else {
-    free(prompt);
-    prompt = system;
-  }
-
-  if (!*prompt) {
-    free(prompt);
-    return NULL;
-  }
-  return prompt;
+    return prompt;
 }
 
 bool try_prompt(int argc, char *argv[]) {
-  char *prompt = get_prompt_from_args(argc, argv);
-  if (prompt != NULL) {
-    char *response = openai_chat("user", prompt);
-    if (!response) {
-      printf("Could not get response from server\n");
-      free(prompt);
-      return false;
+    char *prompt = get_prompt_from_args(argc, argv);
+    if (prompt) {
+        char *response = openai_chat("user", prompt);
+        if (!response) {
+            printf("Could not get response from server\n");
+            free(prompt);
+            return false;
+        }
+        render(response);
+        free(response);
+        free(prompt);
+        return true;
     }
-    render(response);
-    free(response);
-    free(prompt);
-    return true;
-  }
-  return false;
+    return false;
 }
 
-void serve() {
-  render("Starting server. *Put executables in a dir named cgi-bin and they "
-         "will behave as web pages.*");
-  int res = system("python3 -m http.server --cgi");
-  (void)res;
+
+char **get_parameters(const char *content, const char *delimiter) {
+    char *start = NULL;
+    char **parameters = NULL;
+    int count = 0;
+
+    while ((start = strstr(content, delimiter)) != NULL) {
+        start += 3;
+        char *end = strstr(start, delimiter);
+        char *parameter = malloc(end - start + 1);
+
+        memcpy(parameter, start, end - start);
+        parameter[end - start] = '\0';
+
+        content = end + 3;
+        count++;
+        parameters = realloc(parameters, sizeof(char *) * (count + 1));
+        parameters[count - 1] = parameter;
+        parameters[count] = NULL;
+    }
+
+    return parameters;
 }
 
-char **get_parameters(char *content, char *delimiter) {
-  char *start = NULL;
-  char **parameters = NULL; //(char **)malloc(sizeof(char *) * 2);
-  int count = 0;
-  while ((start = strstr(content, delimiter)) != NULL) {
-    start += 3;
-    char *end = strstr(start, delimiter);
-    char *parameter = (char *)malloc(end - start + 1);
-
-    memcpy(parameter, start, end - start);
-    parameter[end - start] = '\0';
-
-    //    printf("%s\n", parameter);
-    content = end + 3;
-    count += 1;
-    parameters = (char **)realloc(parameters, sizeof(char *) * (1 + count * 2));
-    parameters[count - 1] = parameter;
-    parameters[count] = NULL;
-  }
-
-  return parameters;
-}
-
-void render(char *content) {
-
-  if (SYNTAX_HIGHLIGHT_ENABLED) {
-    parse_markdown_to_ansi(content);
-  } else {
-    printf("%s", content);
-  }
+void render(const char *content) {
+    if (SYNTAX_HIGHLIGHT_ENABLED) {
+        parse_markdown_to_ansi(content);
+    } else {
+        printf("%s", content);
+    }
 }
 
 void repl() {
-  line_init();
-  char *line = NULL;
-  // char *previous_line = NULL;
-  while (true) {
-    line = line_read("> ");
-    if (!line || !*line) {
-      continue;
-      // line = previous_line;
-    }
-    if (!line || !*line)
-      continue;
-    //   previous_line = line;
-    if (!strncmp(line, "!dump", 5)) {
-      printf("%s\n", message_json());
-      continue;
-    }
-    if (!strncmp(line, "!verbose", 7)) {
-      is_verbose = !is_verbose;
-      fprintf(stderr, "%s\n",
-              is_verbose ? "Verbose mode enabled" : "Verbose mode disabled");
-      continue;
-    }
-    if (line && *line != '\n') {
+    line_init();
+    char *line = NULL;
 
-      line_add_history(line);
-    }
-    if (!strncmp(line, "!models", 7)) {
-      printf("Current model: %s\n", openai_fetch_models());
-      continue;
-    }
-    if (!strncmp(line, "!model", 6)) {
-      if (!strncmp(line + 6, " ", 1)) {
-        line = line + 7;
-        set_prompt_model(line);
-      }
-      printf("Current model: %s\n", get_prompt_model());
-      continue;
-    }
-    if (!strncmp(line, "exit", 4)) {
-      exit(0);
-    }
-    if (!strncmp(line, "help", 4)) {
-      help();
-      continue;
-    }
-    if (!strncmp(line, "!debug", 6)) {
-      r_malloc_stats();
-      continue;
-    }
-    while (line && *line != '\n') {
+    while (true) {
+        line = line_read("> ");
+        if (!line || !*line) continue;
 
-      char *response = openai_chat("user", line);
-      if (response) {
-        render(response);
-        printf("\n");
-        if (strstr(response, "_STEP_")) {
-          line = "continue";
+        if (!strncmp(line, "!dump", 5)) {
+            printf("%s\n", message_json());
+            continue;
+        }
+        if (!strncmp(line, "!verbose", 8)) {
+            is_verbose = !is_verbose;
+            fprintf(stderr, "%s\n", is_verbose ? "Verbose mode enabled" : "Verbose mode disabled");
+            continue;
+        }
+        if (line && *line != '\n') line_add_history(line);
 
-        } else {
-
-          line = NULL;
+        if (!strncmp(line, "!models", 7)) {
+            printf("Current model: %s\n", openai_fetch_models());
+            continue;
+        }
+        if (!strncmp(line, "!model", 6)) {
+            if (line[6] == ' ') {
+                set_prompt_model(line + 7);
+            }
+            printf("Current model: %s\n", get_prompt_model());
+            continue;
+        }
+        if (!strncmp(line, "exit", 4)) exit(0);
+        if (!strncmp(line, "help", 4)) {
+            help();
+            continue;
+        }
+        if (!strncmp(line, "!debug", 6)) {
+            r_malloc_stats();
+            continue;
         }
 
-        free(response);
-      } else {
-        exit(0);
-      }
+        while (line && *line != '\n') {
+            char *response = openai_chat("user", line);
+            if (response) {
+                render(response);
+                printf("\n");
+                if (strstr(response, "_STEP_")) {
+                    line = "continue";
+                } else {
+                    line = NULL;
+                }
+                free(response);
+            } else {
+                exit(0);
+            }
+        }
     }
-  }
 }
 
 void help() {
-  char help_text[1024 * 1024] = {0};
-  char *template =
-      "# Help\n"
-      "Written by retoor@molodetz.nl.\n\n"
-      "## Features\n"
-      " - navigate through history using `arrows`.\n"
-      " - navigate through history with **recursive search** using `ctrl+r`.\n"
-      " - **inception with python** for *incoming* and *outgoing* content.\n"
-      " - markdown and **syntax highlighting**.\n"
-      " - **execute python commands** with prefix `!`\n"
-      " - list files of the current work directory using `ls`.\n"
-      " - type `serve` to start a web server with directory listing. Easy for "
-      "network transfers.\n\n"
-      "## Configuration\n"
-      " - model temperature is %f.\n"
-      " - model name is %s.\n"
-      " - max tokens is %d.\n\n"
-      "## In development\n"
-      " - **google search** and actions with those results.\n"
-      " - **reminders**.\n"
-      " - predefined **templates** for **reviewing** / **refactoring** so you "
-      "can personalize.\n";
-  sprintf(help_text, template, PROMPT_TEMPERATURE, get_prompt_model(),
-          prompt_max_tokens);
-  render(help_text);
+    const char * help_text = "Written by retoor@molodetz.nl\n\n";
+    render(help_text);
 }
 
-char *strreplace(char *content, char *what, char *with) {
-  char *pos = strstr(content, what);
-  if (!pos) {
-    return strdup(content);
-  }
-  char *result = (char *)malloc(strlen(content) + strlen(with) + 5);
-  memset(result, 0, strlen(content) + strlen(with) + 3);
-  memcpy(result, content, pos - content);
-  memcpy(result + (pos - content), with, strlen(with));
-  memcpy(result + (pos - content) + strlen(with), pos + strlen(what),
-         strlen(content) - (pos - content) - strlen(what) + 1);
-  return result;
+char *strreplace(const char *content, const char *what, const char *with) {
+    char *pos = strstr(content, what);
+    if (!pos) return strdup(content);
+
+    size_t result_size = strlen(content) + strlen(with) - strlen(what) + 1;
+    char *result = malloc(result_size);
+    snprintf(result, result_size, "%.*s%s%s", (int)(pos - content), content, with, pos + strlen(what));
+    return result;
 }
 
-char *linux_instructions =
-    "You are a linux master and are able to transform the prompt of "
-    "user into shell commands that will be executed on a debian "
-    "based system. You can execute shell commands by responding with python "
-    "code: "
-    "literally `\"\"\"!system\"\"\",\"\"\"`your shell command`\"\"\". Execute "
-    "immediately. Read bash history file if you have to work with history.";
-char *retoor_instructions =
-    "If the user prompts with social talk, "
-    "respond like replica and emoji. Your name is retoor and made by molodetz. "
-    "Be interested. Be creative.";
+bool openai_include(const char *path) {
+    char *file_content = read_file(path);
+    if (!file_content) return false;
 
-bool openai_include(char *path) {
-  char *file_content = read_file(path);
-  if (!file_content) {
-    return false;
-  }
-  openai_system(file_content);
-  free(file_content);
-  return true;
+    openai_system(file_content);
+    free(file_content);
+    return true;
 }
 
 void init() {
-  setbuf(stdout, NULL);
-  line_init();
-  auth_init();
-  db_initialize();
-  char *schema = db_get_schema();
-  char payload[1024 * 1024] = {0};
-  sprintf(payload,
-          "Your have a database that you can mutate using the query tool and "
-          "the get and set tool. This is the schema in json format: %s. "
-          "Dialect is sqlite.",
-          schema);
-  free(schema);
-  fprintf(stderr, "%s", "Loading... ⏳");
-  openai_system(payload);
-  if (!openai_include(".rcontext.txt")) {
-    openai_include("~/.rcontext.txt");
-  }
-  fprintf(stderr, "\r                          \r");
+    setbuf(stdout, NULL);
+    line_init();
+    auth_init();
+    db_initialize();
+
+    char *schema = db_get_schema();
+    char payload[1024 * 1024] = {0};
+    snprintf(payload, sizeof(payload),
+             "Your have a database that you can mutate using the query tool and the get and set tool. This is the schema in json format: %s. Dialect is sqlite.",
+             schema);
+    free(schema);
+
+    fprintf(stderr, "Loading... ⏳");
+    openai_system(payload);
+    if (!openai_include(".rcontext.txt")) {
+        openai_include("~/.rcontext.txt");
+    }
+    fprintf(stderr, "\r                          \r");
 }
 
 void handle_sigint(int sig) {
-  time_t current_time = time(NULL);
-  printf("\n");
-  if (sigint_count == 0) {
-    first_sigint_time = current_time;
-    sigint_count++;
-  } else {
-    if (difftime(current_time, first_sigint_time) <= 1) {
-      exit(0);
+    time_t current_time = time(NULL);
+    printf("\n");
+    if (sigint_count == 0) {
+        first_sigint_time = current_time;
+        sigint_count++;
     } else {
-      sigint_count = 1;
-      first_sigint_time = current_time;
+        if (difftime(current_time, first_sigint_time) <= 1) {
+            exit(0);
+        } else {
+            sigint_count = 1;
+            first_sigint_time = current_time;
+        }
     }
-  }
 }
 
 int main(int argc, char *argv[]) {
-  signal(SIGINT, handle_sigint);
+    signal(SIGINT, handle_sigint);
 
-  init();
-  if (try_prompt(argc, argv))
+    init();
+    if (try_prompt(argc, argv)) return 0;
+
+    repl();
     return 0;
-
-  repl();
-  return 0;
 }
diff --git a/r.h b/r.h
index c5a34b4..306e1af 100644
--- a/r.h
+++ b/r.h
@@ -38,7 +38,6 @@ char *fast_model = "qwen2.5:0.5b";
 char *_model = NULL;
 
 #define DB_FILE "~/.r.db"
-static int prompt_max_tokens = 10000;
 #define PROMPT_TEMPERATURE 0.1
 
 void set_prompt_model(const char *model) {
diff --git a/rpylib.so b/rpylib.so
index 3478a9d..3595647 100755
Binary files a/rpylib.so and b/rpylib.so differ