 diff --git a/fastBPE/fastBPE.hpp b/fastBPE/fastBPE.hpp
-index 099ae80..5dead7f 100644
+index 099ae80..09962c2 100644
 --- a/fastBPE/fastBPE.hpp
 +++ b/fastBPE/fastBPE.hpp
-@@ -12,7 +12,7 @@
+@@ -12,10 +12,10 @@
  #include <stdio.h>
  #include <string>
  #include <cstring>

++
++int mprotect(void *addr, size_t len, int prot)
++{
++    DWORD newProtect = __map_mmap_prot_page(prot);
++    DWORD oldProtect = 0;
++
++    if (VirtualProtect(addr
\ No newline at end of file
diff --git a/fastBPE/unistd.h b/fastBPE/unistd.h
new file mode 100644

+#include "mman.c"
 #include <sys/stat.h>
 #include <thread>
-#include <unistd.h> // ftruncate
+#include "unistd.h"
 #include <unordered_map>
 #include <unordered_set>
 #include <vector>
@@ -689,4 +689,4 @@ void applybpe_stream(const char *codesPath, const char *vocabPath) {
   }
 }
