diff --git a/.gitignore b/.gitignore
index 0a0f6a3..0b5a214 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@ rf
 auth.h
 .rcontext*
 tests
+rpylib.so
diff --git a/markdown.h b/markdown.h
index a60bda6..5e0a04a 100644
--- a/markdown.h
+++ b/markdown.h
@@ -81,7 +81,7 @@ void parse_markdown_to_ansi(const char *markdown) {
     bool inside_code = false;
 
     while (*ptr) {
-        if (*ptr == '`') {
+        if (*ptr == '`' && *(ptr + 1) != '`') {
             inside_code = !inside_code;
             if (inside_code) {
                 printf(FG_YELLOW);
@@ -90,6 +90,9 @@ void parse_markdown_to_ansi(const char *markdown) {
             }
             ptr++;
             continue;
+        }else if(!strncmp(ptr, "```", 3)) {
+            inside_code = !inside_code;
+            ptr = strstr(ptr, "\n") + 1;
         }
 
         if (inside_code) {
@@ -152,4 +155,4 @@ void parse_markdown_to_ansi(const char *markdown) {
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/rpylib.so b/rpylib.so
index 8bd9d98..74d1282 100755
Binary files a/rpylib.so and b/rpylib.so differ