diff --git a/src/Sandbox/Program.cs b/src/Sandbox/Program.cs
index de2b1f6..c905cbf 100644
--- a/src/Sandbox/Program.cs
+++ b/src/Sandbox/Program.cs
@@ -2,6 +2,7 @@
 using System.IO;
 using Zstd.Extern;
 using ZstdSharp;
+using ZstdSharp.Unsafe;
 
 namespace Sandbox
 {
@@ -36,24 +37,24 @@ static void Decompress()
 
         static unsafe void Test1()
         {
-            var cctx = ZstdSharp.Methods.ZSTD_createCCtx();
-            var dctx = ZstdSharp.Methods.ZSTD_createDCtx();
+            var cctx = Methods.ZSTD_createCCtx();
+            var dctx = Methods.ZSTD_createDCtx();
 
             var src = File.ReadAllBytes("dickens");
-            var dest = new byte[ZstdSharp.Methods.ZSTD_compressBound((nuint) src.Length)];
+            var dest = new byte[Methods.ZSTD_compressBound((nuint) src.Length)];
             var uncompressed = new byte[src.Length];
             fixed (byte* dstPtr = dest)
             fixed (byte* srcPtr = src)
             fixed (byte* uncompressedPtr = uncompressed)
             {
-                var compressedLength = ZstdSharp.Methods.ZSTD_compressCCtx(cctx, dstPtr, (nuint) dest.Length, srcPtr, (nuint) src.Length,
+                var compressedLength = Methods.ZSTD_compressCCtx(cctx, dstPtr, (nuint) dest.Length, srcPtr, (nuint) src.Length,
                     level);
 
-                var decompressedLength = ZstdSharp.Methods.ZSTD_decompressDCtx(dctx, uncompressedPtr, (nuint) uncompressed.Length, dstPtr, compressedLength);
+                var decompressedLength = Methods.ZSTD_decompressDCtx(dctx, uncompressedPtr, (nuint) uncompressed.Length, dstPtr, compressedLength);
                 Console.WriteLine($"{compressedLength} {decompressedLength} {src.Length}");
             }
-            ZstdSharp.Methods.ZSTD_freeCCtx(cctx);
-            ZstdSharp.Methods.ZSTD_freeDCtx(dctx);
+            Methods.ZSTD_freeCCtx(cctx);
+            Methods.ZSTD_freeDCtx(dctx);
         }
 
         static unsafe void Test2()
diff --git a/src/ZstdSharp.Benchmark/Benchmark.cs b/src/ZstdSharp.Benchmark/Benchmark.cs
index 1990772..16836a5 100644
--- a/src/ZstdSharp.Benchmark/Benchmark.cs
+++ b/src/ZstdSharp.Benchmark/Benchmark.cs
@@ -3,6 +3,7 @@
 using BenchmarkDotNet.Attributes;
 using BenchmarkDotNet.Configs;
 using Zstd.Extern;
+using ZstdSharp.Unsafe;
 
 namespace ZstdSharp.Benchmark
 {
diff --git a/src/ZstdSharp.Test/ZstdNetTests.cs b/src/ZstdSharp.Test/ZstdNetTests.cs
index c2aa2c6..dfedaad 100644
--- a/src/ZstdSharp.Test/ZstdNetTests.cs
+++ b/src/ZstdSharp.Test/ZstdNetTests.cs
@@ -3,6 +3,7 @@
 using System.Text;
 using System.Threading;
 using Xunit;
+using ZstdSharp.Unsafe;
 
 namespace ZstdSharp.Test
 {
diff --git a/src/ZstdSharp.Test/ZstdTest.cs b/src/ZstdSharp.Test/ZstdTest.cs
index 63569d6..cd9b8e5 100644
--- a/src/ZstdSharp.Test/ZstdTest.cs
+++ b/src/ZstdSharp.Test/ZstdTest.cs
@@ -3,9 +3,9 @@
 using System.IO;
 using System.Linq;
 using System.Reflection;
-using System.Text;
 using Xunit;
 using Zstd.Extern;
+using ZstdSharp.Unsafe;
 
 namespace ZstdSharp.Test
 {
diff --git a/src/ZstdSharp/Compressor.cs b/src/ZstdSharp/Compressor.cs
index 0031175..43e88c7 100644
--- a/src/ZstdSharp/Compressor.cs
+++ b/src/ZstdSharp/Compressor.cs
@@ -1,4 +1,5 @@
 using System;
+using ZstdSharp.Unsafe;
 
 namespace ZstdSharp
 {
diff --git a/src/ZstdSharp/Decompressor.cs b/src/ZstdSharp/Decompressor.cs
index fc713d5..cdce4c4 100644
--- a/src/ZstdSharp/Decompressor.cs
+++ b/src/ZstdSharp/Decompressor.cs
@@ -1,4 +1,5 @@
 using System;
+using ZstdSharp.Unsafe;
 
 namespace ZstdSharp
 {
diff --git a/src/ZstdSharp/DictBuilder.cs b/src/ZstdSharp/DictBuilder.cs
index 51c87cc..9b6fe73 100644
--- a/src/ZstdSharp/DictBuilder.cs
+++ b/src/ZstdSharp/DictBuilder.cs
@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.IO;
 using System.Linq;
+using ZstdSharp.Unsafe;
 
 namespace ZstdSharp
 {
diff --git a/src/ZstdSharp/ThrowHelper.cs b/src/ZstdSharp/ThrowHelper.cs
index 7ba7544..4092a5d 100644
--- a/src/ZstdSharp/ThrowHelper.cs
+++ b/src/ZstdSharp/ThrowHelper.cs
@@ -1,4 +1,4 @@
-using System;
+using ZstdSharp.Unsafe;
 
 namespace ZstdSharp
 {
diff --git a/src/ZstdSharp/Native/Arrays.cs b/src/ZstdSharp/Unsafe/Arrays.cs
similarity index 99%
rename from src/ZstdSharp/Native/Arrays.cs
rename to src/ZstdSharp/Unsafe/Arrays.cs
index 7a362d4..bacbc5c 100644
--- a/src/ZstdSharp/Native/Arrays.cs
+++ b/src/ZstdSharp/Unsafe/Arrays.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/BIT_CStream_t.cs b/src/ZstdSharp/Unsafe/BIT_CStream_t.cs
similarity index 95%
rename from src/ZstdSharp/Native/BIT_CStream_t.cs
rename to src/ZstdSharp/Unsafe/BIT_CStream_t.cs
index 220827c..92eff1e 100644
--- a/src/ZstdSharp/Native/BIT_CStream_t.cs
+++ b/src/ZstdSharp/Unsafe/BIT_CStream_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /*-******************************************
     *  bitStream encoding API (write forward)
diff --git a/src/ZstdSharp/Native/BIT_DStream_status.cs b/src/ZstdSharp/Unsafe/BIT_DStream_status.cs
similarity index 88%
rename from src/ZstdSharp/Native/BIT_DStream_status.cs
rename to src/ZstdSharp/Unsafe/BIT_DStream_status.cs
index 8ee58a2..e295b90 100644
--- a/src/ZstdSharp/Native/BIT_DStream_status.cs
+++ b/src/ZstdSharp/Unsafe/BIT_DStream_status.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum BIT_DStream_status
     {
diff --git a/src/ZstdSharp/Native/BIT_DStream_t.cs b/src/ZstdSharp/Unsafe/BIT_DStream_t.cs
similarity index 93%
rename from src/ZstdSharp/Native/BIT_DStream_t.cs
rename to src/ZstdSharp/Unsafe/BIT_DStream_t.cs
index ed6d6f7..7959c22 100644
--- a/src/ZstdSharp/Native/BIT_DStream_t.cs
+++ b/src/ZstdSharp/Unsafe/BIT_DStream_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /*-********************************************
     *  bitStream decoding API (read backward)
diff --git a/src/ZstdSharp/Native/Bitstream.cs b/src/ZstdSharp/Unsafe/Bitstream.cs
similarity index 99%
rename from src/ZstdSharp/Native/Bitstream.cs
rename to src/ZstdSharp/Unsafe/Bitstream.cs
index 2d3614d..f6925cf 100644
--- a/src/ZstdSharp/Native/Bitstream.cs
+++ b/src/ZstdSharp/Unsafe/Bitstream.cs
@@ -3,7 +3,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/COVER_best_s.cs b/src/ZstdSharp/Unsafe/COVER_best_s.cs
similarity index 95%
rename from src/ZstdSharp/Native/COVER_best_s.cs
rename to src/ZstdSharp/Unsafe/COVER_best_s.cs
index fb2f98e..dbf1068 100644
--- a/src/ZstdSharp/Native/COVER_best_s.cs
+++ b/src/ZstdSharp/Unsafe/COVER_best_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /**
      * COVER_best_t is used for two purposes:
diff --git a/src/ZstdSharp/Native/COVER_dictSelection.cs b/src/ZstdSharp/Unsafe/COVER_dictSelection.cs
similarity index 90%
rename from src/ZstdSharp/Native/COVER_dictSelection.cs
rename to src/ZstdSharp/Unsafe/COVER_dictSelection.cs
index 935ad4f..307a69a 100644
--- a/src/ZstdSharp/Native/COVER_dictSelection.cs
+++ b/src/ZstdSharp/Unsafe/COVER_dictSelection.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /**
      * Struct used for the dictionary selection function.
diff --git a/src/ZstdSharp/Native/COVER_epoch_info_t.cs b/src/ZstdSharp/Unsafe/COVER_epoch_info_t.cs
similarity index 87%
rename from src/ZstdSharp/Native/COVER_epoch_info_t.cs
rename to src/ZstdSharp/Unsafe/COVER_epoch_info_t.cs
index f627c93..620a534 100644
--- a/src/ZstdSharp/Native/COVER_epoch_info_t.cs
+++ b/src/ZstdSharp/Unsafe/COVER_epoch_info_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /**
      *Number of epochs and size of each epoch.
diff --git a/src/ZstdSharp/Native/COVER_segment_t.cs b/src/ZstdSharp/Unsafe/COVER_segment_t.cs
similarity index 90%
rename from src/ZstdSharp/Native/COVER_segment_t.cs
rename to src/ZstdSharp/Unsafe/COVER_segment_t.cs
index 7a9860a..06c7db5 100644
--- a/src/ZstdSharp/Native/COVER_segment_t.cs
+++ b/src/ZstdSharp/Unsafe/COVER_segment_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /**
      * A segment is a range in the source as well as the score of the segment.
diff --git a/src/ZstdSharp/Native/Cover.cs b/src/ZstdSharp/Unsafe/Cover.cs
similarity index 99%
rename from src/ZstdSharp/Native/Cover.cs
rename to src/ZstdSharp/Unsafe/Cover.cs
index 7dafab4..e561f98 100644
--- a/src/ZstdSharp/Native/Cover.cs
+++ b/src/ZstdSharp/Unsafe/Cover.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/DTableDesc.cs b/src/ZstdSharp/Unsafe/DTableDesc.cs
similarity index 91%
rename from src/ZstdSharp/Native/DTableDesc.cs
rename to src/ZstdSharp/Unsafe/DTableDesc.cs
index ea74b87..3e8bb63 100644
--- a/src/ZstdSharp/Native/DTableDesc.cs
+++ b/src/ZstdSharp/Unsafe/DTableDesc.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /*-***************************/
     /*  generic DTableDesc       */
diff --git a/src/ZstdSharp/Native/EStats_ress_t.cs b/src/ZstdSharp/Unsafe/EStats_ress_t.cs
similarity index 91%
rename from src/ZstdSharp/Native/EStats_ress_t.cs
rename to src/ZstdSharp/Unsafe/EStats_ress_t.cs
index d4b0ed1..1b9f54b 100644
--- a/src/ZstdSharp/Native/EStats_ress_t.cs
+++ b/src/ZstdSharp/Unsafe/EStats_ress_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct EStats_ress_t
     {
diff --git a/src/ZstdSharp/Native/EntropyCommon.cs b/src/ZstdSharp/Unsafe/EntropyCommon.cs
similarity index 99%
rename from src/ZstdSharp/Native/EntropyCommon.cs
rename to src/ZstdSharp/Unsafe/EntropyCommon.cs
index 5f077f2..4940dd5 100644
--- a/src/ZstdSharp/Native/EntropyCommon.cs
+++ b/src/ZstdSharp/Unsafe/EntropyCommon.cs
@@ -3,7 +3,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ErrorPrivate.cs b/src/ZstdSharp/Unsafe/ErrorPrivate.cs
similarity index 99%
rename from src/ZstdSharp/Native/ErrorPrivate.cs
rename to src/ZstdSharp/Unsafe/ErrorPrivate.cs
index 55fff93..73a9e29 100644
--- a/src/ZstdSharp/Native/ErrorPrivate.cs
+++ b/src/ZstdSharp/Unsafe/ErrorPrivate.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/FASTCOVER_accel_t.cs b/src/ZstdSharp/Unsafe/FASTCOVER_accel_t.cs
similarity index 93%
rename from src/ZstdSharp/Native/FASTCOVER_accel_t.cs
rename to src/ZstdSharp/Unsafe/FASTCOVER_accel_t.cs
index d02f3f9..0cfb16c 100644
--- a/src/ZstdSharp/Native/FASTCOVER_accel_t.cs
+++ b/src/ZstdSharp/Unsafe/FASTCOVER_accel_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /*-*************************************
     * Acceleration
diff --git a/src/ZstdSharp/Native/FASTCOVER_ctx_t.cs b/src/ZstdSharp/Unsafe/FASTCOVER_ctx_t.cs
similarity index 95%
rename from src/ZstdSharp/Native/FASTCOVER_ctx_t.cs
rename to src/ZstdSharp/Unsafe/FASTCOVER_ctx_t.cs
index 5309bac..3941706 100644
--- a/src/ZstdSharp/Native/FASTCOVER_ctx_t.cs
+++ b/src/ZstdSharp/Unsafe/FASTCOVER_ctx_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /*-*************************************
     * Context
diff --git a/src/ZstdSharp/Native/FASTCOVER_tryParameters_data_s.cs b/src/ZstdSharp/Unsafe/FASTCOVER_tryParameters_data_s.cs
similarity index 92%
rename from src/ZstdSharp/Native/FASTCOVER_tryParameters_data_s.cs
rename to src/ZstdSharp/Unsafe/FASTCOVER_tryParameters_data_s.cs
index 123dc7d..fd47294 100644
--- a/src/ZstdSharp/Native/FASTCOVER_tryParameters_data_s.cs
+++ b/src/ZstdSharp/Unsafe/FASTCOVER_tryParameters_data_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /**
      * Parameters for FASTCOVER_tryParameters().
diff --git a/src/ZstdSharp/Native/FSE_CState_t.cs b/src/ZstdSharp/Unsafe/FSE_CState_t.cs
similarity index 94%
rename from src/ZstdSharp/Native/FSE_CState_t.cs
rename to src/ZstdSharp/Unsafe/FSE_CState_t.cs
index 83bdcd4..8461e8d 100644
--- a/src/ZstdSharp/Native/FSE_CState_t.cs
+++ b/src/ZstdSharp/Unsafe/FSE_CState_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /* *****************************************
     *  FSE symbol compression API
diff --git a/src/ZstdSharp/Native/FSE_DState_t.cs b/src/ZstdSharp/Unsafe/FSE_DState_t.cs
similarity index 92%
rename from src/ZstdSharp/Native/FSE_DState_t.cs
rename to src/ZstdSharp/Unsafe/FSE_DState_t.cs
index 01bcf5c..f031b69 100644
--- a/src/ZstdSharp/Native/FSE_DState_t.cs
+++ b/src/ZstdSharp/Unsafe/FSE_DState_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /* *****************************************
     *  FSE symbol decompression API
diff --git a/src/ZstdSharp/Native/FSE_DTableHeader.cs b/src/ZstdSharp/Unsafe/FSE_DTableHeader.cs
similarity index 87%
rename from src/ZstdSharp/Native/FSE_DTableHeader.cs
rename to src/ZstdSharp/Unsafe/FSE_DTableHeader.cs
index afc229d..271e76d 100644
--- a/src/ZstdSharp/Native/FSE_DTableHeader.cs
+++ b/src/ZstdSharp/Unsafe/FSE_DTableHeader.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /* ======    Decompression    ====== */
     public partial struct FSE_DTableHeader
diff --git a/src/ZstdSharp/Native/FSE_decode_t.cs b/src/ZstdSharp/Unsafe/FSE_decode_t.cs
similarity index 85%
rename from src/ZstdSharp/Native/FSE_decode_t.cs
rename to src/ZstdSharp/Unsafe/FSE_decode_t.cs
index c448583..219d77f 100644
--- a/src/ZstdSharp/Native/FSE_decode_t.cs
+++ b/src/ZstdSharp/Unsafe/FSE_decode_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct FSE_decode_t
     {
diff --git a/src/ZstdSharp/Native/FSE_repeat.cs b/src/ZstdSharp/Unsafe/FSE_repeat.cs
similarity index 83%
rename from src/ZstdSharp/Native/FSE_repeat.cs
rename to src/ZstdSharp/Unsafe/FSE_repeat.cs
index d562801..99fa81a 100644
--- a/src/ZstdSharp/Native/FSE_repeat.cs
+++ b/src/ZstdSharp/Unsafe/FSE_repeat.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum FSE_repeat
     {
diff --git a/src/ZstdSharp/Native/FSE_symbolCompressionTransform.cs b/src/ZstdSharp/Unsafe/FSE_symbolCompressionTransform.cs
similarity index 91%
rename from src/ZstdSharp/Native/FSE_symbolCompressionTransform.cs
rename to src/ZstdSharp/Unsafe/FSE_symbolCompressionTransform.cs
index 484d2e2..b95766e 100644
--- a/src/ZstdSharp/Native/FSE_symbolCompressionTransform.cs
+++ b/src/ZstdSharp/Unsafe/FSE_symbolCompressionTransform.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /* *****************************************
     *  Implementation of inlined functions
diff --git a/src/ZstdSharp/Native/Fastcover.cs b/src/ZstdSharp/Unsafe/Fastcover.cs
similarity index 99%
rename from src/ZstdSharp/Native/Fastcover.cs
rename to src/ZstdSharp/Unsafe/Fastcover.cs
index 38e1ed5..58c7046 100644
--- a/src/ZstdSharp/Native/Fastcover.cs
+++ b/src/ZstdSharp/Unsafe/Fastcover.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/Fse.cs b/src/ZstdSharp/Unsafe/Fse.cs
similarity index 99%
rename from src/ZstdSharp/Native/Fse.cs
rename to src/ZstdSharp/Unsafe/Fse.cs
index 7d2db54..ec21843 100644
--- a/src/ZstdSharp/Native/Fse.cs
+++ b/src/ZstdSharp/Unsafe/Fse.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/FseCompress.cs b/src/ZstdSharp/Unsafe/FseCompress.cs
similarity index 99%
rename from src/ZstdSharp/Native/FseCompress.cs
rename to src/ZstdSharp/Unsafe/FseCompress.cs
index 5f65e18..daf1532 100644
--- a/src/ZstdSharp/Native/FseCompress.cs
+++ b/src/ZstdSharp/Unsafe/FseCompress.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/FseDecompress.cs b/src/ZstdSharp/Unsafe/FseDecompress.cs
similarity index 99%
rename from src/ZstdSharp/Native/FseDecompress.cs
rename to src/ZstdSharp/Unsafe/FseDecompress.cs
index 810e727..0f4d552 100644
--- a/src/ZstdSharp/Native/FseDecompress.cs
+++ b/src/ZstdSharp/Unsafe/FseDecompress.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/HIST_checkInput_e.cs b/src/ZstdSharp/Unsafe/HIST_checkInput_e.cs
similarity index 80%
rename from src/ZstdSharp/Native/HIST_checkInput_e.cs
rename to src/ZstdSharp/Unsafe/HIST_checkInput_e.cs
index e9c3468..c8a5ce9 100644
--- a/src/ZstdSharp/Native/HIST_checkInput_e.cs
+++ b/src/ZstdSharp/Unsafe/HIST_checkInput_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum HIST_checkInput_e
     {
diff --git a/src/ZstdSharp/Native/HUF_CElt_s.cs b/src/ZstdSharp/Unsafe/HUF_CElt_s.cs
similarity index 92%
rename from src/ZstdSharp/Native/HUF_CElt_s.cs
rename to src/ZstdSharp/Unsafe/HUF_CElt_s.cs
index 51253af..21e6216 100644
--- a/src/ZstdSharp/Native/HUF_CElt_s.cs
+++ b/src/ZstdSharp/Unsafe/HUF_CElt_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /* static allocation of HUF's Compression Table */
     /* this is a private definition, just exposed for allocation and strict aliasing purpose. never EVER access its members directly */
diff --git a/src/ZstdSharp/Native/HUF_DEltX1.cs b/src/ZstdSharp/Unsafe/HUF_DEltX1.cs
similarity index 91%
rename from src/ZstdSharp/Native/HUF_DEltX1.cs
rename to src/ZstdSharp/Unsafe/HUF_DEltX1.cs
index 0cc5c09..e0c47bc 100644
--- a/src/ZstdSharp/Native/HUF_DEltX1.cs
+++ b/src/ZstdSharp/Unsafe/HUF_DEltX1.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /*-***************************/
     /*  single-symbol decoding   */
diff --git a/src/ZstdSharp/Native/HUF_DEltX2.cs b/src/ZstdSharp/Unsafe/HUF_DEltX2.cs
similarity index 93%
rename from src/ZstdSharp/Native/HUF_DEltX2.cs
rename to src/ZstdSharp/Unsafe/HUF_DEltX2.cs
index 176aa1c..a4d5d47 100644
--- a/src/ZstdSharp/Native/HUF_DEltX2.cs
+++ b/src/ZstdSharp/Unsafe/HUF_DEltX2.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /* *************************/
     /* double-symbols decoding */
diff --git a/src/ZstdSharp/Native/HUF_ReadDTableX1_Workspace.cs b/src/ZstdSharp/Unsafe/HUF_ReadDTableX1_Workspace.cs
similarity index 91%
rename from src/ZstdSharp/Native/HUF_ReadDTableX1_Workspace.cs
rename to src/ZstdSharp/Unsafe/HUF_ReadDTableX1_Workspace.cs
index d37530f..3a6b7d0 100644
--- a/src/ZstdSharp/Native/HUF_ReadDTableX1_Workspace.cs
+++ b/src/ZstdSharp/Unsafe/HUF_ReadDTableX1_Workspace.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct HUF_ReadDTableX1_Workspace
     {
diff --git a/src/ZstdSharp/Native/HUF_buildCTable_wksp_tables.cs b/src/ZstdSharp/Unsafe/HUF_buildCTable_wksp_tables.cs
similarity index 99%
rename from src/ZstdSharp/Native/HUF_buildCTable_wksp_tables.cs
rename to src/ZstdSharp/Unsafe/HUF_buildCTable_wksp_tables.cs
index 7cb5dd2..44d8889 100644
--- a/src/ZstdSharp/Native/HUF_buildCTable_wksp_tables.cs
+++ b/src/ZstdSharp/Unsafe/HUF_buildCTable_wksp_tables.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct HUF_buildCTable_wksp_tables
     {
diff --git a/src/ZstdSharp/Native/HUF_compress_tables_t.cs b/src/ZstdSharp/Unsafe/HUF_compress_tables_t.cs
similarity index 99%
rename from src/ZstdSharp/Native/HUF_compress_tables_t.cs
rename to src/ZstdSharp/Unsafe/HUF_compress_tables_t.cs
index c25e7b6..4f76243 100644
--- a/src/ZstdSharp/Native/HUF_compress_tables_t.cs
+++ b/src/ZstdSharp/Unsafe/HUF_compress_tables_t.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct HUF_compress_tables_t
     {
diff --git a/src/ZstdSharp/Native/HUF_decompress_usingDTable_t.cs b/src/ZstdSharp/Unsafe/HUF_decompress_usingDTable_t.cs
similarity index 90%
rename from src/ZstdSharp/Native/HUF_decompress_usingDTable_t.cs
rename to src/ZstdSharp/Unsafe/HUF_decompress_usingDTable_t.cs
index 26b5d45..78478e2 100644
--- a/src/ZstdSharp/Native/HUF_decompress_usingDTable_t.cs
+++ b/src/ZstdSharp/Unsafe/HUF_decompress_usingDTable_t.cs
@@ -1,7 +1,7 @@
 using System;
 using System.Runtime.InteropServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
     public unsafe delegate nuint HUF_decompress_usingDTable_t(void* dst, nuint dstSize, void* cSrc, nuint cSrcSize, uint* DTable);
diff --git a/src/ZstdSharp/Native/HUF_nbStreams_e.cs b/src/ZstdSharp/Unsafe/HUF_nbStreams_e.cs
similarity index 80%
rename from src/ZstdSharp/Native/HUF_nbStreams_e.cs
rename to src/ZstdSharp/Unsafe/HUF_nbStreams_e.cs
index bc6d37d..260541b 100644
--- a/src/ZstdSharp/Native/HUF_nbStreams_e.cs
+++ b/src/ZstdSharp/Unsafe/HUF_nbStreams_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum HUF_nbStreams_e
     {
diff --git a/src/ZstdSharp/Native/HUF_repeat.cs b/src/ZstdSharp/Unsafe/HUF_repeat.cs
similarity index 83%
rename from src/ZstdSharp/Native/HUF_repeat.cs
rename to src/ZstdSharp/Unsafe/HUF_repeat.cs
index a4a32fc..59e880f 100644
--- a/src/ZstdSharp/Native/HUF_repeat.cs
+++ b/src/ZstdSharp/Unsafe/HUF_repeat.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum HUF_repeat
     {
diff --git a/src/ZstdSharp/Native/Hist.cs b/src/ZstdSharp/Unsafe/Hist.cs
similarity index 99%
rename from src/ZstdSharp/Native/Hist.cs
rename to src/ZstdSharp/Unsafe/Hist.cs
index cee71d4..09d3ccb 100644
--- a/src/ZstdSharp/Native/Hist.cs
+++ b/src/ZstdSharp/Unsafe/Hist.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/HufCompress.cs b/src/ZstdSharp/Unsafe/HufCompress.cs
similarity index 99%
rename from src/ZstdSharp/Native/HufCompress.cs
rename to src/ZstdSharp/Unsafe/HufCompress.cs
index bb47c4d..49f4e9e 100644
--- a/src/ZstdSharp/Native/HufCompress.cs
+++ b/src/ZstdSharp/Unsafe/HufCompress.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/HufDecompress.cs b/src/ZstdSharp/Unsafe/HufDecompress.cs
similarity index 99%
rename from src/ZstdSharp/Native/HufDecompress.cs
rename to src/ZstdSharp/Unsafe/HufDecompress.cs
index e44e17e..fcfc6f3 100644
--- a/src/ZstdSharp/Native/HufDecompress.cs
+++ b/src/ZstdSharp/Unsafe/HufDecompress.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/Mem.cs b/src/ZstdSharp/Unsafe/Mem.cs
similarity index 99%
rename from src/ZstdSharp/Native/Mem.cs
rename to src/ZstdSharp/Unsafe/Mem.cs
index 9cca6c2..c4861a4 100644
--- a/src/ZstdSharp/Native/Mem.cs
+++ b/src/ZstdSharp/Unsafe/Mem.cs
@@ -7,7 +7,7 @@
 // ReSharper disable InconsistentNaming
 // ReSharper disable IdentifierTypo
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/SeqCollector.cs b/src/ZstdSharp/Unsafe/SeqCollector.cs
similarity index 89%
rename from src/ZstdSharp/Native/SeqCollector.cs
rename to src/ZstdSharp/Unsafe/SeqCollector.cs
index 2dbe8aa..184de76 100644
--- a/src/ZstdSharp/Native/SeqCollector.cs
+++ b/src/ZstdSharp/Unsafe/SeqCollector.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct SeqCollector
     {
diff --git a/src/ZstdSharp/Native/XXH32_canonical_t.cs b/src/ZstdSharp/Unsafe/XXH32_canonical_t.cs
similarity index 95%
rename from src/ZstdSharp/Native/XXH32_canonical_t.cs
rename to src/ZstdSharp/Unsafe/XXH32_canonical_t.cs
index 208be5c..f9350c0 100644
--- a/src/ZstdSharp/Native/XXH32_canonical_t.cs
+++ b/src/ZstdSharp/Unsafe/XXH32_canonical_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /* **************************
     *  Canonical representation
diff --git a/src/ZstdSharp/Native/XXH32_state_s.cs b/src/ZstdSharp/Unsafe/XXH32_state_s.cs
similarity index 95%
rename from src/ZstdSharp/Native/XXH32_state_s.cs
rename to src/ZstdSharp/Unsafe/XXH32_state_s.cs
index 9e0d4b0..734eb66 100644
--- a/src/ZstdSharp/Native/XXH32_state_s.cs
+++ b/src/ZstdSharp/Unsafe/XXH32_state_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /* These definitions are only meant to allow allocation of XXH state
        statically, on stack, or in a struct for example.
diff --git a/src/ZstdSharp/Native/XXH64_state_s.cs b/src/ZstdSharp/Unsafe/XXH64_state_s.cs
similarity index 94%
rename from src/ZstdSharp/Native/XXH64_state_s.cs
rename to src/ZstdSharp/Unsafe/XXH64_state_s.cs
index 8e0f19a..8d6d4c4 100644
--- a/src/ZstdSharp/Native/XXH64_state_s.cs
+++ b/src/ZstdSharp/Unsafe/XXH64_state_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct XXH64_state_s
     {
diff --git a/src/ZstdSharp/Native/Xxhash.cs b/src/ZstdSharp/Unsafe/Xxhash.cs
similarity index 99%
rename from src/ZstdSharp/Native/Xxhash.cs
rename to src/ZstdSharp/Unsafe/Xxhash.cs
index dbbd51f..e69be23 100644
--- a/src/ZstdSharp/Native/Xxhash.cs
+++ b/src/ZstdSharp/Unsafe/Xxhash.cs
@@ -6,7 +6,7 @@
 // ReSharper disable InconsistentNaming
 // ReSharper disable IdentifierTypo
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZDICT_cover_params_t.cs b/src/ZstdSharp/Unsafe/ZDICT_cover_params_t.cs
similarity index 98%
rename from src/ZstdSharp/Native/ZDICT_cover_params_t.cs
rename to src/ZstdSharp/Unsafe/ZDICT_cover_params_t.cs
index 5519a5d..b27d369 100644
--- a/src/ZstdSharp/Native/ZDICT_cover_params_t.cs
+++ b/src/ZstdSharp/Unsafe/ZDICT_cover_params_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /*! ZDICT_cover_params_t:
      *  k and d are the only required parameters.
diff --git a/src/ZstdSharp/Native/ZDICT_fastCover_params_t.cs b/src/ZstdSharp/Unsafe/ZDICT_fastCover_params_t.cs
similarity index 98%
rename from src/ZstdSharp/Native/ZDICT_fastCover_params_t.cs
rename to src/ZstdSharp/Unsafe/ZDICT_fastCover_params_t.cs
index 8d42a1b..7b87541 100644
--- a/src/ZstdSharp/Native/ZDICT_fastCover_params_t.cs
+++ b/src/ZstdSharp/Unsafe/ZDICT_fastCover_params_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZDICT_fastCover_params_t
     {
diff --git a/src/ZstdSharp/Native/ZDICT_params_t.cs b/src/ZstdSharp/Unsafe/ZDICT_params_t.cs
similarity index 94%
rename from src/ZstdSharp/Native/ZDICT_params_t.cs
rename to src/ZstdSharp/Unsafe/ZDICT_params_t.cs
index 809c9e7..1326401 100644
--- a/src/ZstdSharp/Native/ZDICT_params_t.cs
+++ b/src/ZstdSharp/Unsafe/ZDICT_params_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZDICT_params_t
     {
diff --git a/src/ZstdSharp/Native/ZSTD_CCtx_params_s.cs b/src/ZstdSharp/Unsafe/ZSTD_CCtx_params_s.cs
similarity index 98%
rename from src/ZstdSharp/Native/ZSTD_CCtx_params_s.cs
rename to src/ZstdSharp/Unsafe/ZSTD_CCtx_params_s.cs
index cfcb2a0..5b6ea1c 100644
--- a/src/ZstdSharp/Native/ZSTD_CCtx_params_s.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_CCtx_params_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_CCtx_params_s
     {
diff --git a/src/ZstdSharp/Native/ZSTD_CCtx_s.cs b/src/ZstdSharp/Unsafe/ZSTD_CCtx_s.cs
similarity index 98%
rename from src/ZstdSharp/Native/ZSTD_CCtx_s.cs
rename to src/ZstdSharp/Unsafe/ZSTD_CCtx_s.cs
index 2354a20..c41c865 100644
--- a/src/ZstdSharp/Native/ZSTD_CCtx_s.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_CCtx_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_CCtx_s
     {
diff --git a/src/ZstdSharp/Native/ZSTD_CDict_s.cs b/src/ZstdSharp/Unsafe/ZSTD_CDict_s.cs
similarity index 96%
rename from src/ZstdSharp/Native/ZSTD_CDict_s.cs
rename to src/ZstdSharp/Unsafe/ZSTD_CDict_s.cs
index 6a3b8db..ea0fe39 100644
--- a/src/ZstdSharp/Native/ZSTD_CDict_s.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_CDict_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /*-*************************************
     *  Context memory management
diff --git a/src/ZstdSharp/Native/ZSTD_DCtx_s.cs b/src/ZstdSharp/Unsafe/ZSTD_DCtx_s.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZSTD_DCtx_s.cs
rename to src/ZstdSharp/Unsafe/ZSTD_DCtx_s.cs
index 48f068a..7dd1d4f 100644
--- a/src/ZstdSharp/Native/ZSTD_DCtx_s.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_DCtx_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_DCtx_s
     {
diff --git a/src/ZstdSharp/Native/ZSTD_DDictHashSet.cs b/src/ZstdSharp/Unsafe/ZSTD_DDictHashSet.cs
similarity index 91%
rename from src/ZstdSharp/Native/ZSTD_DDictHashSet.cs
rename to src/ZstdSharp/Unsafe/ZSTD_DDictHashSet.cs
index 9d37c9c..ba6cdb7 100644
--- a/src/ZstdSharp/Native/ZSTD_DDictHashSet.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_DDictHashSet.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /* Hashset for storing references to multiple ZSTD_DDict within ZSTD_DCtx */
     public unsafe partial struct ZSTD_DDictHashSet
diff --git a/src/ZstdSharp/Native/ZSTD_DDict_s.cs b/src/ZstdSharp/Unsafe/ZSTD_DDict_s.cs
similarity index 94%
rename from src/ZstdSharp/Native/ZSTD_DDict_s.cs
rename to src/ZstdSharp/Unsafe/ZSTD_DDict_s.cs
index bc4c3f4..4d4f709 100644
--- a/src/ZstdSharp/Native/ZSTD_DDict_s.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_DDict_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /*-*******************************************************
     *  Types
diff --git a/src/ZstdSharp/Native/ZSTD_EndDirective.cs b/src/ZstdSharp/Unsafe/ZSTD_EndDirective.cs
similarity index 84%
rename from src/ZstdSharp/Native/ZSTD_EndDirective.cs
rename to src/ZstdSharp/Unsafe/ZSTD_EndDirective.cs
index 5d8c2bc..bfc952f 100644
--- a/src/ZstdSharp/Native/ZSTD_EndDirective.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_EndDirective.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_EndDirective
     {
diff --git a/src/ZstdSharp/Native/ZSTD_ErrorCode.cs b/src/ZstdSharp/Unsafe/ZSTD_ErrorCode.cs
similarity index 97%
rename from src/ZstdSharp/Native/ZSTD_ErrorCode.cs
rename to src/ZstdSharp/Unsafe/ZSTD_ErrorCode.cs
index ad5fdab..265fd56 100644
--- a/src/ZstdSharp/Native/ZSTD_ErrorCode.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_ErrorCode.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_ErrorCode
     {
diff --git a/src/ZstdSharp/Native/ZSTD_OptPrice_e.cs b/src/ZstdSharp/Unsafe/ZSTD_OptPrice_e.cs
similarity index 80%
rename from src/ZstdSharp/Native/ZSTD_OptPrice_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_OptPrice_e.cs
index 8d5cb74..9bb71b6 100644
--- a/src/ZstdSharp/Native/ZSTD_OptPrice_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_OptPrice_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_OptPrice_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_ResetDirective.cs b/src/ZstdSharp/Unsafe/ZSTD_ResetDirective.cs
similarity index 87%
rename from src/ZstdSharp/Native/ZSTD_ResetDirective.cs
rename to src/ZstdSharp/Unsafe/ZSTD_ResetDirective.cs
index c15eb6f..92ebc39 100644
--- a/src/ZstdSharp/Native/ZSTD_ResetDirective.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_ResetDirective.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_ResetDirective
     {
diff --git a/src/ZstdSharp/Native/ZSTD_Sequence.cs b/src/ZstdSharp/Unsafe/ZSTD_Sequence.cs
similarity index 98%
rename from src/ZstdSharp/Native/ZSTD_Sequence.cs
rename to src/ZstdSharp/Unsafe/ZSTD_Sequence.cs
index 0407995..3c1f465 100644
--- a/src/ZstdSharp/Native/ZSTD_Sequence.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_Sequence.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_Sequence
     {
diff --git a/src/ZstdSharp/Native/ZSTD_blockCompressor.cs b/src/ZstdSharp/Unsafe/ZSTD_blockCompressor.cs
similarity index 90%
rename from src/ZstdSharp/Native/ZSTD_blockCompressor.cs
rename to src/ZstdSharp/Unsafe/ZSTD_blockCompressor.cs
index 8828d73..2c575a3 100644
--- a/src/ZstdSharp/Native/ZSTD_blockCompressor.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_blockCompressor.cs
@@ -1,7 +1,7 @@
 using System;
 using System.Runtime.InteropServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
     public unsafe delegate nuint ZSTD_blockCompressor(ZSTD_matchState_t* bs, seqStore_t* seqStore, uint* rep, void* src, nuint srcSize);
diff --git a/src/ZstdSharp/Native/ZSTD_blockState_t.cs b/src/ZstdSharp/Unsafe/ZSTD_blockState_t.cs
similarity index 89%
rename from src/ZstdSharp/Native/ZSTD_blockState_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_blockState_t.cs
index 5dc8bc2..418a707 100644
--- a/src/ZstdSharp/Native/ZSTD_blockState_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_blockState_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_blockState_t
     {
diff --git a/src/ZstdSharp/Native/ZSTD_bounds.cs b/src/ZstdSharp/Unsafe/ZSTD_bounds.cs
similarity index 85%
rename from src/ZstdSharp/Native/ZSTD_bounds.cs
rename to src/ZstdSharp/Unsafe/ZSTD_bounds.cs
index b06fdfc..f69a970 100644
--- a/src/ZstdSharp/Native/ZSTD_bounds.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_bounds.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_bounds
     {
diff --git a/src/ZstdSharp/Native/ZSTD_bufferMode_e.cs b/src/ZstdSharp/Unsafe/ZSTD_bufferMode_e.cs
similarity index 82%
rename from src/ZstdSharp/Native/ZSTD_bufferMode_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_bufferMode_e.cs
index e73dbd4..66781ff 100644
--- a/src/ZstdSharp/Native/ZSTD_bufferMode_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_bufferMode_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_bufferMode_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_buffered_policy_e.cs b/src/ZstdSharp/Unsafe/ZSTD_buffered_policy_e.cs
similarity index 81%
rename from src/ZstdSharp/Native/ZSTD_buffered_policy_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_buffered_policy_e.cs
index fc7b4ec..d6b5a7e 100644
--- a/src/ZstdSharp/Native/ZSTD_buffered_policy_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_buffered_policy_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_buffered_policy_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_buildSeqStore_e.cs b/src/ZstdSharp/Unsafe/ZSTD_buildSeqStore_e.cs
similarity index 81%
rename from src/ZstdSharp/Native/ZSTD_buildSeqStore_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_buildSeqStore_e.cs
index 6bfa243..6522959 100644
--- a/src/ZstdSharp/Native/ZSTD_buildSeqStore_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_buildSeqStore_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_buildSeqStore_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_cParamMode_e.cs b/src/ZstdSharp/Unsafe/ZSTD_cParamMode_e.cs
similarity index 87%
rename from src/ZstdSharp/Native/ZSTD_cParamMode_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_cParamMode_e.cs
index ee7f340..e0b84f5 100644
--- a/src/ZstdSharp/Native/ZSTD_cParamMode_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_cParamMode_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_cParamMode_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_cParameter.cs b/src/ZstdSharp/Unsafe/ZSTD_cParameter.cs
similarity index 97%
rename from src/ZstdSharp/Native/ZSTD_cParameter.cs
rename to src/ZstdSharp/Unsafe/ZSTD_cParameter.cs
index 3fab889..e89f75c 100644
--- a/src/ZstdSharp/Native/ZSTD_cParameter.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_cParameter.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_cParameter
     {
diff --git a/src/ZstdSharp/Native/ZSTD_cStreamStage.cs b/src/ZstdSharp/Unsafe/ZSTD_cStreamStage.cs
similarity index 82%
rename from src/ZstdSharp/Native/ZSTD_cStreamStage.cs
rename to src/ZstdSharp/Unsafe/ZSTD_cStreamStage.cs
index 76b3235..f408aae 100644
--- a/src/ZstdSharp/Native/ZSTD_cStreamStage.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_cStreamStage.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_cStreamStage
     {
diff --git a/src/ZstdSharp/Native/ZSTD_compResetPolicy_e.cs b/src/ZstdSharp/Unsafe/ZSTD_compResetPolicy_e.cs
similarity index 82%
rename from src/ZstdSharp/Native/ZSTD_compResetPolicy_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_compResetPolicy_e.cs
index 83c3da4..a6a5558 100644
--- a/src/ZstdSharp/Native/ZSTD_compResetPolicy_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_compResetPolicy_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_compResetPolicy_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_compressedBlockState_t.cs b/src/ZstdSharp/Unsafe/ZSTD_compressedBlockState_t.cs
similarity index 86%
rename from src/ZstdSharp/Native/ZSTD_compressedBlockState_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_compressedBlockState_t.cs
index 64ecb3b..acebdd8 100644
--- a/src/ZstdSharp/Native/ZSTD_compressedBlockState_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_compressedBlockState_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_compressedBlockState_t
     {
diff --git a/src/ZstdSharp/Native/ZSTD_compressionParameters.cs b/src/ZstdSharp/Unsafe/ZSTD_compressionParameters.cs
similarity index 97%
rename from src/ZstdSharp/Native/ZSTD_compressionParameters.cs
rename to src/ZstdSharp/Unsafe/ZSTD_compressionParameters.cs
index 9895b2a..f8c602b 100644
--- a/src/ZstdSharp/Native/ZSTD_compressionParameters.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_compressionParameters.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_compressionParameters
     {
diff --git a/src/ZstdSharp/Native/ZSTD_compressionStage_e.cs b/src/ZstdSharp/Unsafe/ZSTD_compressionStage_e.cs
similarity index 86%
rename from src/ZstdSharp/Native/ZSTD_compressionStage_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_compressionStage_e.cs
index 8ea6b81..87c924c 100644
--- a/src/ZstdSharp/Native/ZSTD_compressionStage_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_compressionStage_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_compressionStage_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_cpuid_t.cs b/src/ZstdSharp/Unsafe/ZSTD_cpuid_t.cs
similarity index 86%
rename from src/ZstdSharp/Native/ZSTD_cpuid_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_cpuid_t.cs
index aa1836a..2fbb6a6 100644
--- a/src/ZstdSharp/Native/ZSTD_cpuid_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_cpuid_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_cpuid_t
     {
diff --git a/src/ZstdSharp/Native/ZSTD_customMem.cs b/src/ZstdSharp/Unsafe/ZSTD_customMem.cs
similarity index 86%
rename from src/ZstdSharp/Native/ZSTD_customMem.cs
rename to src/ZstdSharp/Unsafe/ZSTD_customMem.cs
index a61a29b..e2c4bf6 100644
--- a/src/ZstdSharp/Native/ZSTD_customMem.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_customMem.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_customMem
     {
diff --git a/src/ZstdSharp/Native/ZSTD_cwksp.cs b/src/ZstdSharp/Unsafe/ZSTD_cwksp.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZSTD_cwksp.cs
rename to src/ZstdSharp/Unsafe/ZSTD_cwksp.cs
index f2d1856..e25019b 100644
--- a/src/ZstdSharp/Native/ZSTD_cwksp.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_cwksp.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /**
      * Zstd fits all its internal datastructures into a single continuous buffer,
diff --git a/src/ZstdSharp/Native/ZSTD_cwksp_alloc_phase_e.cs b/src/ZstdSharp/Unsafe/ZSTD_cwksp_alloc_phase_e.cs
similarity index 86%
rename from src/ZstdSharp/Native/ZSTD_cwksp_alloc_phase_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_cwksp_alloc_phase_e.cs
index e76c09b..134c50f 100644
--- a/src/ZstdSharp/Native/ZSTD_cwksp_alloc_phase_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_cwksp_alloc_phase_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_cwksp_alloc_phase_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_cwksp_static_alloc_e.cs b/src/ZstdSharp/Unsafe/ZSTD_cwksp_static_alloc_e.cs
similarity index 83%
rename from src/ZstdSharp/Native/ZSTD_cwksp_static_alloc_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_cwksp_static_alloc_e.cs
index 4dabd02..03d529e 100644
--- a/src/ZstdSharp/Native/ZSTD_cwksp_static_alloc_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_cwksp_static_alloc_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_cwksp_static_alloc_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_dParameter.cs b/src/ZstdSharp/Unsafe/ZSTD_dParameter.cs
similarity index 90%
rename from src/ZstdSharp/Native/ZSTD_dParameter.cs
rename to src/ZstdSharp/Unsafe/ZSTD_dParameter.cs
index c279fd0..db84afe 100644
--- a/src/ZstdSharp/Native/ZSTD_dParameter.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_dParameter.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_dParameter
     {
diff --git a/src/ZstdSharp/Native/ZSTD_dStage.cs b/src/ZstdSharp/Unsafe/ZSTD_dStage.cs
similarity index 92%
rename from src/ZstdSharp/Native/ZSTD_dStage.cs
rename to src/ZstdSharp/Unsafe/ZSTD_dStage.cs
index 62bdd06..bd04c57 100644
--- a/src/ZstdSharp/Native/ZSTD_dStage.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_dStage.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_dStage
     {
diff --git a/src/ZstdSharp/Native/ZSTD_dStreamStage.cs b/src/ZstdSharp/Unsafe/ZSTD_dStreamStage.cs
similarity index 86%
rename from src/ZstdSharp/Native/ZSTD_dStreamStage.cs
rename to src/ZstdSharp/Unsafe/ZSTD_dStreamStage.cs
index b5987c8..dd472c2 100644
--- a/src/ZstdSharp/Native/ZSTD_dStreamStage.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_dStreamStage.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_dStreamStage
     {
diff --git a/src/ZstdSharp/Native/ZSTD_decompressSequences_t.cs b/src/ZstdSharp/Unsafe/ZSTD_decompressSequences_t.cs
similarity index 91%
rename from src/ZstdSharp/Native/ZSTD_decompressSequences_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_decompressSequences_t.cs
index a3873c6..653a298 100644
--- a/src/ZstdSharp/Native/ZSTD_decompressSequences_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_decompressSequences_t.cs
@@ -1,7 +1,7 @@
 using System;
 using System.Runtime.InteropServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
     public unsafe delegate nuint ZSTD_decompressSequences_t(ZSTD_DCtx_s* dctx, void* dst, nuint maxDstSize, void* seqStart, nuint seqSize, int nbSeq, ZSTD_longOffset_e isLongOffset, int frame);
diff --git a/src/ZstdSharp/Native/ZSTD_defaultPolicy_e.cs b/src/ZstdSharp/Unsafe/ZSTD_defaultPolicy_e.cs
similarity index 83%
rename from src/ZstdSharp/Native/ZSTD_defaultPolicy_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_defaultPolicy_e.cs
index 71c707c..9e97db4 100644
--- a/src/ZstdSharp/Native/ZSTD_defaultPolicy_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_defaultPolicy_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_defaultPolicy_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_dictAttachPref_e.cs b/src/ZstdSharp/Unsafe/ZSTD_dictAttachPref_e.cs
similarity index 88%
rename from src/ZstdSharp/Native/ZSTD_dictAttachPref_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_dictAttachPref_e.cs
index bacc152..c37ee4e 100644
--- a/src/ZstdSharp/Native/ZSTD_dictAttachPref_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_dictAttachPref_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_dictAttachPref_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_dictContentType_e.cs b/src/ZstdSharp/Unsafe/ZSTD_dictContentType_e.cs
similarity index 85%
rename from src/ZstdSharp/Native/ZSTD_dictContentType_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_dictContentType_e.cs
index ab9d0de..ce34db2 100644
--- a/src/ZstdSharp/Native/ZSTD_dictContentType_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_dictContentType_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_dictContentType_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_dictLoadMethod_e.cs b/src/ZstdSharp/Unsafe/ZSTD_dictLoadMethod_e.cs
similarity index 82%
rename from src/ZstdSharp/Native/ZSTD_dictLoadMethod_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_dictLoadMethod_e.cs
index afe7751..1d8c6bb 100644
--- a/src/ZstdSharp/Native/ZSTD_dictLoadMethod_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_dictLoadMethod_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_dictLoadMethod_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_dictMode_e.cs b/src/ZstdSharp/Unsafe/ZSTD_dictMode_e.cs
similarity index 87%
rename from src/ZstdSharp/Native/ZSTD_dictMode_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_dictMode_e.cs
index bdbae41..b1a863b 100644
--- a/src/ZstdSharp/Native/ZSTD_dictMode_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_dictMode_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_dictMode_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_dictTableLoadMethod_e.cs b/src/ZstdSharp/Unsafe/ZSTD_dictTableLoadMethod_e.cs
similarity index 81%
rename from src/ZstdSharp/Native/ZSTD_dictTableLoadMethod_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_dictTableLoadMethod_e.cs
index b8edf82..ea60b42 100644
--- a/src/ZstdSharp/Native/ZSTD_dictTableLoadMethod_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_dictTableLoadMethod_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_dictTableLoadMethod_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_dictUses_e.cs b/src/ZstdSharp/Unsafe/ZSTD_dictUses_e.cs
similarity index 85%
rename from src/ZstdSharp/Native/ZSTD_dictUses_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_dictUses_e.cs
index aebdd1b..32daa3d 100644
--- a/src/ZstdSharp/Native/ZSTD_dictUses_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_dictUses_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_dictUses_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_entropyCTablesMetadata_t.cs b/src/ZstdSharp/Unsafe/ZSTD_entropyCTablesMetadata_t.cs
similarity index 87%
rename from src/ZstdSharp/Native/ZSTD_entropyCTablesMetadata_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_entropyCTablesMetadata_t.cs
index 6e5eb82..d75f40a 100644
--- a/src/ZstdSharp/Native/ZSTD_entropyCTablesMetadata_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_entropyCTablesMetadata_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_entropyCTablesMetadata_t
     {
diff --git a/src/ZstdSharp/Native/ZSTD_entropyCTables_t.cs b/src/ZstdSharp/Unsafe/ZSTD_entropyCTables_t.cs
similarity index 85%
rename from src/ZstdSharp/Native/ZSTD_entropyCTables_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_entropyCTables_t.cs
index fd07a92..259135c 100644
--- a/src/ZstdSharp/Native/ZSTD_entropyCTables_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_entropyCTables_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_entropyCTables_t
     {
diff --git a/src/ZstdSharp/Native/ZSTD_entropyDTables_t.cs b/src/ZstdSharp/Unsafe/ZSTD_entropyDTables_t.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZSTD_entropyDTables_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_entropyDTables_t.cs
index 19f8b56..1a232ad 100644
--- a/src/ZstdSharp/Native/ZSTD_entropyDTables_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_entropyDTables_t.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_entropyDTables_t
     {
diff --git a/src/ZstdSharp/Native/ZSTD_forceIgnoreChecksum_e.cs b/src/ZstdSharp/Unsafe/ZSTD_forceIgnoreChecksum_e.cs
similarity index 84%
rename from src/ZstdSharp/Native/ZSTD_forceIgnoreChecksum_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_forceIgnoreChecksum_e.cs
index c97438b..48c75c7 100644
--- a/src/ZstdSharp/Native/ZSTD_forceIgnoreChecksum_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_forceIgnoreChecksum_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_forceIgnoreChecksum_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_format_e.cs b/src/ZstdSharp/Unsafe/ZSTD_format_e.cs
similarity index 82%
rename from src/ZstdSharp/Native/ZSTD_format_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_format_e.cs
index c7a5f10..091074c 100644
--- a/src/ZstdSharp/Native/ZSTD_format_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_format_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_format_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_frameHeader.cs b/src/ZstdSharp/Unsafe/ZSTD_frameHeader.cs
similarity index 95%
rename from src/ZstdSharp/Native/ZSTD_frameHeader.cs
rename to src/ZstdSharp/Unsafe/ZSTD_frameHeader.cs
index 352abc2..219734d 100644
--- a/src/ZstdSharp/Native/ZSTD_frameHeader.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_frameHeader.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_frameHeader
     {
diff --git a/src/ZstdSharp/Native/ZSTD_frameParameters.cs b/src/ZstdSharp/Unsafe/ZSTD_frameParameters.cs
similarity index 94%
rename from src/ZstdSharp/Native/ZSTD_frameParameters.cs
rename to src/ZstdSharp/Unsafe/ZSTD_frameParameters.cs
index b266c8c..6bbf168 100644
--- a/src/ZstdSharp/Native/ZSTD_frameParameters.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_frameParameters.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_frameParameters
     {
diff --git a/src/ZstdSharp/Native/ZSTD_frameProgression.cs b/src/ZstdSharp/Unsafe/ZSTD_frameProgression.cs
similarity index 95%
rename from src/ZstdSharp/Native/ZSTD_frameProgression.cs
rename to src/ZstdSharp/Unsafe/ZSTD_frameProgression.cs
index 42a7114..f2a1d93 100644
--- a/src/ZstdSharp/Native/ZSTD_frameProgression.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_frameProgression.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_frameProgression
     {
diff --git a/src/ZstdSharp/Native/ZSTD_frameSizeInfo.cs b/src/ZstdSharp/Unsafe/ZSTD_frameSizeInfo.cs
similarity index 94%
rename from src/ZstdSharp/Native/ZSTD_frameSizeInfo.cs
rename to src/ZstdSharp/Unsafe/ZSTD_frameSizeInfo.cs
index 1bdd830..30176dc 100644
--- a/src/ZstdSharp/Native/ZSTD_frameSizeInfo.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_frameSizeInfo.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /**
      * Contains the compressed frame size and an upper-bound for the decompressed frame size.
diff --git a/src/ZstdSharp/Native/ZSTD_frameType_e.cs b/src/ZstdSharp/Unsafe/ZSTD_frameType_e.cs
similarity index 80%
rename from src/ZstdSharp/Native/ZSTD_frameType_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_frameType_e.cs
index 4791615..a2c7f08 100644
--- a/src/ZstdSharp/Native/ZSTD_frameType_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_frameType_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_frameType_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_fseCTablesMetadata_t.cs b/src/ZstdSharp/Unsafe/ZSTD_fseCTablesMetadata_t.cs
similarity index 96%
rename from src/ZstdSharp/Native/ZSTD_fseCTablesMetadata_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_fseCTablesMetadata_t.cs
index 7a4befd..e723f23 100644
--- a/src/ZstdSharp/Native/ZSTD_fseCTablesMetadata_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_fseCTablesMetadata_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /** ZSTD_fseCTablesMetadata_t :
      *  Stores symbol compression modes for a super-block in {ll, ol, ml}Type, and
diff --git a/src/ZstdSharp/Native/ZSTD_fseCTables_t.cs b/src/ZstdSharp/Unsafe/ZSTD_fseCTables_t.cs
similarity index 93%
rename from src/ZstdSharp/Native/ZSTD_fseCTables_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_fseCTables_t.cs
index 3c4d653..d2c768c 100644
--- a/src/ZstdSharp/Native/ZSTD_fseCTables_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_fseCTables_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_fseCTables_t
     {
diff --git a/src/ZstdSharp/Native/ZSTD_fseState.cs b/src/ZstdSharp/Unsafe/ZSTD_fseState.cs
similarity index 84%
rename from src/ZstdSharp/Native/ZSTD_fseState.cs
rename to src/ZstdSharp/Unsafe/ZSTD_fseState.cs
index df92266..941781a 100644
--- a/src/ZstdSharp/Native/ZSTD_fseState.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_fseState.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_fseState
     {
diff --git a/src/ZstdSharp/Native/ZSTD_hufCTablesMetadata_t.cs b/src/ZstdSharp/Unsafe/ZSTD_hufCTablesMetadata_t.cs
similarity index 96%
rename from src/ZstdSharp/Native/ZSTD_hufCTablesMetadata_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_hufCTablesMetadata_t.cs
index 5e0179f..3e79a65 100644
--- a/src/ZstdSharp/Native/ZSTD_hufCTablesMetadata_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_hufCTablesMetadata_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /*-*************************************
     *  Superblock entropy buffer structs
diff --git a/src/ZstdSharp/Native/ZSTD_hufCTables_t.cs b/src/ZstdSharp/Unsafe/ZSTD_hufCTables_t.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZSTD_hufCTables_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_hufCTables_t.cs
index dc62657..145b560 100644
--- a/src/ZstdSharp/Native/ZSTD_hufCTables_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_hufCTables_t.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_hufCTables_t
     {
diff --git a/src/ZstdSharp/Native/ZSTD_inBuffer_s.cs b/src/ZstdSharp/Unsafe/ZSTD_inBuffer_s.cs
similarity index 93%
rename from src/ZstdSharp/Native/ZSTD_inBuffer_s.cs
rename to src/ZstdSharp/Unsafe/ZSTD_inBuffer_s.cs
index 9efe219..0fdcff3 100644
--- a/src/ZstdSharp/Native/ZSTD_inBuffer_s.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_inBuffer_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /****************************
     *  Streaming
diff --git a/src/ZstdSharp/Native/ZSTD_indexResetPolicy_e.cs b/src/ZstdSharp/Unsafe/ZSTD_indexResetPolicy_e.cs
similarity index 81%
rename from src/ZstdSharp/Native/ZSTD_indexResetPolicy_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_indexResetPolicy_e.cs
index 425abf1..0bd333d 100644
--- a/src/ZstdSharp/Native/ZSTD_indexResetPolicy_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_indexResetPolicy_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_indexResetPolicy_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_literalCompressionMode_e.cs b/src/ZstdSharp/Unsafe/ZSTD_literalCompressionMode_e.cs
similarity index 86%
rename from src/ZstdSharp/Native/ZSTD_literalCompressionMode_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_literalCompressionMode_e.cs
index f46bdf0..537ce58 100644
--- a/src/ZstdSharp/Native/ZSTD_literalCompressionMode_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_literalCompressionMode_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_literalCompressionMode_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_localDict.cs b/src/ZstdSharp/Unsafe/ZSTD_localDict.cs
similarity index 90%
rename from src/ZstdSharp/Native/ZSTD_localDict.cs
rename to src/ZstdSharp/Unsafe/ZSTD_localDict.cs
index 43a8d9d..cc6d673 100644
--- a/src/ZstdSharp/Native/ZSTD_localDict.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_localDict.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_localDict
     {
diff --git a/src/ZstdSharp/Native/ZSTD_longOffset_e.cs b/src/ZstdSharp/Unsafe/ZSTD_longOffset_e.cs
similarity index 83%
rename from src/ZstdSharp/Native/ZSTD_longOffset_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_longOffset_e.cs
index 3af489b..fa8146f 100644
--- a/src/ZstdSharp/Native/ZSTD_longOffset_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_longOffset_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_longOffset_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_matchState_t.cs b/src/ZstdSharp/Unsafe/ZSTD_matchState_t.cs
similarity index 98%
rename from src/ZstdSharp/Native/ZSTD_matchState_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_matchState_t.cs
index 6e0b84c..2d38d47 100644
--- a/src/ZstdSharp/Native/ZSTD_matchState_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_matchState_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_matchState_t
     {
diff --git a/src/ZstdSharp/Native/ZSTD_match_t.cs b/src/ZstdSharp/Unsafe/ZSTD_match_t.cs
similarity index 89%
rename from src/ZstdSharp/Native/ZSTD_match_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_match_t.cs
index 5540c08..aed3d5d 100644
--- a/src/ZstdSharp/Native/ZSTD_match_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_match_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_match_t
     {
diff --git a/src/ZstdSharp/Native/ZSTD_nextInputType_e.cs b/src/ZstdSharp/Unsafe/ZSTD_nextInputType_e.cs
similarity index 89%
rename from src/ZstdSharp/Native/ZSTD_nextInputType_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_nextInputType_e.cs
index b965bc1..59a920f 100644
--- a/src/ZstdSharp/Native/ZSTD_nextInputType_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_nextInputType_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_nextInputType_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_optLdm_t.cs b/src/ZstdSharp/Unsafe/ZSTD_optLdm_t.cs
similarity index 95%
rename from src/ZstdSharp/Native/ZSTD_optLdm_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_optLdm_t.cs
index 1fa7fc2..3cf0059 100644
--- a/src/ZstdSharp/Native/ZSTD_optLdm_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_optLdm_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /* Struct containing info needed to make decision about ldm inclusion */
     public partial struct ZSTD_optLdm_t
diff --git a/src/ZstdSharp/Native/ZSTD_optimal_t.cs b/src/ZstdSharp/Unsafe/ZSTD_optimal_t.cs
similarity index 89%
rename from src/ZstdSharp/Native/ZSTD_optimal_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_optimal_t.cs
index ac8d400..8db8a80 100644
--- a/src/ZstdSharp/Native/ZSTD_optimal_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_optimal_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_optimal_t
     {
diff --git a/src/ZstdSharp/Native/ZSTD_outBufferMode_e.cs b/src/ZstdSharp/Unsafe/ZSTD_outBufferMode_e.cs
similarity index 82%
rename from src/ZstdSharp/Native/ZSTD_outBufferMode_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_outBufferMode_e.cs
index b651bcb..fb58e43 100644
--- a/src/ZstdSharp/Native/ZSTD_outBufferMode_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_outBufferMode_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_outBufferMode_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_outBuffer_s.cs b/src/ZstdSharp/Unsafe/ZSTD_outBuffer_s.cs
similarity index 92%
rename from src/ZstdSharp/Native/ZSTD_outBuffer_s.cs
rename to src/ZstdSharp/Unsafe/ZSTD_outBuffer_s.cs
index 2db195c..a2c0815 100644
--- a/src/ZstdSharp/Native/ZSTD_outBuffer_s.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_outBuffer_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_outBuffer_s
     {
diff --git a/src/ZstdSharp/Native/ZSTD_overlap_e.cs b/src/ZstdSharp/Unsafe/ZSTD_overlap_e.cs
similarity index 82%
rename from src/ZstdSharp/Native/ZSTD_overlap_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_overlap_e.cs
index 3ba4030..042938a 100644
--- a/src/ZstdSharp/Native/ZSTD_overlap_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_overlap_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_overlap_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_parameters.cs b/src/ZstdSharp/Unsafe/ZSTD_parameters.cs
similarity index 86%
rename from src/ZstdSharp/Native/ZSTD_parameters.cs
rename to src/ZstdSharp/Unsafe/ZSTD_parameters.cs
index f815ff3..bc85b0b 100644
--- a/src/ZstdSharp/Native/ZSTD_parameters.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_parameters.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_parameters
     {
diff --git a/src/ZstdSharp/Native/ZSTD_prefetch_e.cs b/src/ZstdSharp/Unsafe/ZSTD_prefetch_e.cs
similarity index 82%
rename from src/ZstdSharp/Native/ZSTD_prefetch_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_prefetch_e.cs
index ed06aeb..db3471e 100644
--- a/src/ZstdSharp/Native/ZSTD_prefetch_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_prefetch_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_prefetch_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_prefixDict_s.cs b/src/ZstdSharp/Unsafe/ZSTD_prefixDict_s.cs
similarity index 87%
rename from src/ZstdSharp/Native/ZSTD_prefixDict_s.cs
rename to src/ZstdSharp/Unsafe/ZSTD_prefixDict_s.cs
index 5af8bb2..8c47590 100644
--- a/src/ZstdSharp/Native/ZSTD_prefixDict_s.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_prefixDict_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_prefixDict_s
     {
diff --git a/src/ZstdSharp/Native/ZSTD_refMultipleDDicts_e.cs b/src/ZstdSharp/Unsafe/ZSTD_refMultipleDDicts_e.cs
similarity index 84%
rename from src/ZstdSharp/Native/ZSTD_refMultipleDDicts_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_refMultipleDDicts_e.cs
index f5e4acb..9182b17 100644
--- a/src/ZstdSharp/Native/ZSTD_refMultipleDDicts_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_refMultipleDDicts_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_refMultipleDDicts_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_resetTarget_e.cs b/src/ZstdSharp/Unsafe/ZSTD_resetTarget_e.cs
similarity index 82%
rename from src/ZstdSharp/Native/ZSTD_resetTarget_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_resetTarget_e.cs
index e318806..e3c0ac2 100644
--- a/src/ZstdSharp/Native/ZSTD_resetTarget_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_resetTarget_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_resetTarget_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_seqSymbol.cs b/src/ZstdSharp/Unsafe/ZSTD_seqSymbol.cs
similarity index 88%
rename from src/ZstdSharp/Native/ZSTD_seqSymbol.cs
rename to src/ZstdSharp/Unsafe/ZSTD_seqSymbol.cs
index 459d331..cd9ee55 100644
--- a/src/ZstdSharp/Native/ZSTD_seqSymbol.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_seqSymbol.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_seqSymbol
     {
diff --git a/src/ZstdSharp/Native/ZSTD_seqSymbol_header.cs b/src/ZstdSharp/Unsafe/ZSTD_seqSymbol_header.cs
similarity index 91%
rename from src/ZstdSharp/Native/ZSTD_seqSymbol_header.cs
rename to src/ZstdSharp/Unsafe/ZSTD_seqSymbol_header.cs
index ef1ed0c..f135b31 100644
--- a/src/ZstdSharp/Native/ZSTD_seqSymbol_header.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_seqSymbol_header.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /*-*******************************************************
      *  Decompression types
diff --git a/src/ZstdSharp/Native/ZSTD_sequenceCopier.cs b/src/ZstdSharp/Unsafe/ZSTD_sequenceCopier.cs
similarity index 91%
rename from src/ZstdSharp/Native/ZSTD_sequenceCopier.cs
rename to src/ZstdSharp/Unsafe/ZSTD_sequenceCopier.cs
index 83cec05..12eb330 100644
--- a/src/ZstdSharp/Native/ZSTD_sequenceCopier.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_sequenceCopier.cs
@@ -1,7 +1,7 @@
 using System;
 using System.Runtime.InteropServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
     public unsafe delegate nuint ZSTD_sequenceCopier(ZSTD_CCtx_s* cctx, ZSTD_sequencePosition* seqPos, ZSTD_Sequence* inSeqs, nuint inSeqsSize, void* src, nuint blockSize);
diff --git a/src/ZstdSharp/Native/ZSTD_sequenceFormat_e.cs b/src/ZstdSharp/Unsafe/ZSTD_sequenceFormat_e.cs
similarity index 85%
rename from src/ZstdSharp/Native/ZSTD_sequenceFormat_e.cs
rename to src/ZstdSharp/Unsafe/ZSTD_sequenceFormat_e.cs
index 3a81db1..3ee4c9a 100644
--- a/src/ZstdSharp/Native/ZSTD_sequenceFormat_e.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_sequenceFormat_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_sequenceFormat_e
     {
diff --git a/src/ZstdSharp/Native/ZSTD_sequenceLength.cs b/src/ZstdSharp/Unsafe/ZSTD_sequenceLength.cs
similarity index 84%
rename from src/ZstdSharp/Native/ZSTD_sequenceLength.cs
rename to src/ZstdSharp/Unsafe/ZSTD_sequenceLength.cs
index 6e44b03..869a4a4 100644
--- a/src/ZstdSharp/Native/ZSTD_sequenceLength.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_sequenceLength.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_sequenceLength
     {
diff --git a/src/ZstdSharp/Native/ZSTD_sequencePosition.cs b/src/ZstdSharp/Unsafe/ZSTD_sequencePosition.cs
similarity index 92%
rename from src/ZstdSharp/Native/ZSTD_sequencePosition.cs
rename to src/ZstdSharp/Unsafe/ZSTD_sequencePosition.cs
index 8f7c0d6..217e105 100644
--- a/src/ZstdSharp/Native/ZSTD_sequencePosition.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_sequencePosition.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ZSTD_sequencePosition
     {
diff --git a/src/ZstdSharp/Native/ZSTD_strategy.cs b/src/ZstdSharp/Unsafe/ZSTD_strategy.cs
similarity index 91%
rename from src/ZstdSharp/Native/ZSTD_strategy.cs
rename to src/ZstdSharp/Unsafe/ZSTD_strategy.cs
index 843d7c4..1be190b 100644
--- a/src/ZstdSharp/Native/ZSTD_strategy.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_strategy.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum ZSTD_strategy
     {
diff --git a/src/ZstdSharp/Native/ZSTD_window_t.cs b/src/ZstdSharp/Unsafe/ZSTD_window_t.cs
similarity index 94%
rename from src/ZstdSharp/Native/ZSTD_window_t.cs
rename to src/ZstdSharp/Unsafe/ZSTD_window_t.cs
index 82bd985..6fdb1c2 100644
--- a/src/ZstdSharp/Native/ZSTD_window_t.cs
+++ b/src/ZstdSharp/Unsafe/ZSTD_window_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ZSTD_window_t
     {
diff --git a/src/ZstdSharp/Native/Zdict.cs b/src/ZstdSharp/Unsafe/Zdict.cs
similarity index 99%
rename from src/ZstdSharp/Native/Zdict.cs
rename to src/ZstdSharp/Unsafe/Zdict.cs
index 2a9c31e..df6ea2e 100644
--- a/src/ZstdSharp/Native/Zdict.cs
+++ b/src/ZstdSharp/Unsafe/Zdict.cs
@@ -2,7 +2,7 @@
 using System.Numerics;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/Zstd.cs b/src/ZstdSharp/Unsafe/Zstd.cs
similarity index 91%
rename from src/ZstdSharp/Native/Zstd.cs
rename to src/ZstdSharp/Unsafe/Zstd.cs
index bf1913e..9c44215 100644
--- a/src/ZstdSharp/Native/Zstd.cs
+++ b/src/ZstdSharp/Unsafe/Zstd.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdCommon.cs b/src/ZstdSharp/Unsafe/ZstdCommon.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdCommon.cs
rename to src/ZstdSharp/Unsafe/ZstdCommon.cs
index b883d20..2bfe3cc 100644
--- a/src/ZstdSharp/Native/ZstdCommon.cs
+++ b/src/ZstdSharp/Unsafe/ZstdCommon.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdCompress.cs b/src/ZstdSharp/Unsafe/ZstdCompress.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdCompress.cs
rename to src/ZstdSharp/Unsafe/ZstdCompress.cs
index 6a73530..0ffef4b 100644
--- a/src/ZstdSharp/Native/ZstdCompress.cs
+++ b/src/ZstdSharp/Unsafe/ZstdCompress.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdCompressInternal.cs b/src/ZstdSharp/Unsafe/ZstdCompressInternal.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdCompressInternal.cs
rename to src/ZstdSharp/Unsafe/ZstdCompressInternal.cs
index d4148ba..f6ce2e0 100644
--- a/src/ZstdSharp/Native/ZstdCompressInternal.cs
+++ b/src/ZstdSharp/Unsafe/ZstdCompressInternal.cs
@@ -3,7 +3,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdCompressLiterals.cs b/src/ZstdSharp/Unsafe/ZstdCompressLiterals.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdCompressLiterals.cs
rename to src/ZstdSharp/Unsafe/ZstdCompressLiterals.cs
index 5f55e14..3cfc4b5 100644
--- a/src/ZstdSharp/Native/ZstdCompressLiterals.cs
+++ b/src/ZstdSharp/Unsafe/ZstdCompressLiterals.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdCompressSequences.cs b/src/ZstdSharp/Unsafe/ZstdCompressSequences.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdCompressSequences.cs
rename to src/ZstdSharp/Unsafe/ZstdCompressSequences.cs
index 8057b93..68b4837 100644
--- a/src/ZstdSharp/Native/ZstdCompressSequences.cs
+++ b/src/ZstdSharp/Unsafe/ZstdCompressSequences.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdCompressSuperblock.cs b/src/ZstdSharp/Unsafe/ZstdCompressSuperblock.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdCompressSuperblock.cs
rename to src/ZstdSharp/Unsafe/ZstdCompressSuperblock.cs
index bfa5372..cf9eabf 100644
--- a/src/ZstdSharp/Native/ZstdCompressSuperblock.cs
+++ b/src/ZstdSharp/Unsafe/ZstdCompressSuperblock.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdCwksp.cs b/src/ZstdSharp/Unsafe/ZstdCwksp.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdCwksp.cs
rename to src/ZstdSharp/Unsafe/ZstdCwksp.cs
index 312e57e..10a2a87 100644
--- a/src/ZstdSharp/Native/ZstdCwksp.cs
+++ b/src/ZstdSharp/Unsafe/ZstdCwksp.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdDdict.cs b/src/ZstdSharp/Unsafe/ZstdDdict.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdDdict.cs
rename to src/ZstdSharp/Unsafe/ZstdDdict.cs
index b6e0a87..1c06c51 100644
--- a/src/ZstdSharp/Native/ZstdDdict.cs
+++ b/src/ZstdSharp/Unsafe/ZstdDdict.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdDecompress.cs b/src/ZstdSharp/Unsafe/ZstdDecompress.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdDecompress.cs
rename to src/ZstdSharp/Unsafe/ZstdDecompress.cs
index 4f75604..6359f27 100644
--- a/src/ZstdSharp/Native/ZstdDecompress.cs
+++ b/src/ZstdSharp/Unsafe/ZstdDecompress.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdDecompressBlock.cs b/src/ZstdSharp/Unsafe/ZstdDecompressBlock.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdDecompressBlock.cs
rename to src/ZstdSharp/Unsafe/ZstdDecompressBlock.cs
index b01bd9f..c9c39b1 100644
--- a/src/ZstdSharp/Native/ZstdDecompressBlock.cs
+++ b/src/ZstdSharp/Unsafe/ZstdDecompressBlock.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdDecompressInternal.cs b/src/ZstdSharp/Unsafe/ZstdDecompressInternal.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdDecompressInternal.cs
rename to src/ZstdSharp/Unsafe/ZstdDecompressInternal.cs
index f06b3c9..7053d44 100644
--- a/src/ZstdSharp/Native/ZstdDecompressInternal.cs
+++ b/src/ZstdSharp/Unsafe/ZstdDecompressInternal.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdDoubleFast.cs b/src/ZstdSharp/Unsafe/ZstdDoubleFast.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdDoubleFast.cs
rename to src/ZstdSharp/Unsafe/ZstdDoubleFast.cs
index 1c5280f..acdd216 100644
--- a/src/ZstdSharp/Native/ZstdDoubleFast.cs
+++ b/src/ZstdSharp/Unsafe/ZstdDoubleFast.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdFast.cs b/src/ZstdSharp/Unsafe/ZstdFast.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdFast.cs
rename to src/ZstdSharp/Unsafe/ZstdFast.cs
index 35d8217..03eb24a 100644
--- a/src/ZstdSharp/Native/ZstdFast.cs
+++ b/src/ZstdSharp/Unsafe/ZstdFast.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdInternal.cs b/src/ZstdSharp/Unsafe/ZstdInternal.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdInternal.cs
rename to src/ZstdSharp/Unsafe/ZstdInternal.cs
index fc8d814..8f4264f 100644
--- a/src/ZstdSharp/Native/ZstdInternal.cs
+++ b/src/ZstdSharp/Unsafe/ZstdInternal.cs
@@ -3,7 +3,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdLazy.cs b/src/ZstdSharp/Unsafe/ZstdLazy.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdLazy.cs
rename to src/ZstdSharp/Unsafe/ZstdLazy.cs
index 23eb166..f19775a 100644
--- a/src/ZstdSharp/Native/ZstdLazy.cs
+++ b/src/ZstdSharp/Unsafe/ZstdLazy.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdLdm.cs b/src/ZstdSharp/Unsafe/ZstdLdm.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdLdm.cs
rename to src/ZstdSharp/Unsafe/ZstdLdm.cs
index 8837ec6..b305f28 100644
--- a/src/ZstdSharp/Native/ZstdLdm.cs
+++ b/src/ZstdSharp/Unsafe/ZstdLdm.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdLdmGeartab.cs b/src/ZstdSharp/Unsafe/ZstdLdmGeartab.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdLdmGeartab.cs
rename to src/ZstdSharp/Unsafe/ZstdLdmGeartab.cs
index f2e4afd..5fd6629 100644
--- a/src/ZstdSharp/Native/ZstdLdmGeartab.cs
+++ b/src/ZstdSharp/Unsafe/ZstdLdmGeartab.cs
@@ -1,7 +1,7 @@
 using System;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/ZstdOpt.cs b/src/ZstdSharp/Unsafe/ZstdOpt.cs
similarity index 99%
rename from src/ZstdSharp/Native/ZstdOpt.cs
rename to src/ZstdSharp/Unsafe/ZstdOpt.cs
index c69596b..600ae2a 100644
--- a/src/ZstdSharp/Native/ZstdOpt.cs
+++ b/src/ZstdSharp/Unsafe/ZstdOpt.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using static ZstdSharp.UnsafeHelper;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public static unsafe partial class Methods
     {
diff --git a/src/ZstdSharp/Native/_workspace_e__Union.cs b/src/ZstdSharp/Unsafe/_workspace_e__Union.cs
similarity index 91%
rename from src/ZstdSharp/Native/_workspace_e__Union.cs
rename to src/ZstdSharp/Unsafe/_workspace_e__Union.cs
index dd5ba0e..05170bd 100644
--- a/src/ZstdSharp/Native/_workspace_e__Union.cs
+++ b/src/ZstdSharp/Unsafe/_workspace_e__Union.cs
@@ -1,7 +1,7 @@
 using System;
 using System.Runtime.InteropServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     [StructLayout(LayoutKind.Explicit)]
     public unsafe partial struct _workspace_e__Union
diff --git a/src/ZstdSharp/Native/algo_time_t.cs b/src/ZstdSharp/Unsafe/algo_time_t.cs
similarity index 83%
rename from src/ZstdSharp/Native/algo_time_t.cs
rename to src/ZstdSharp/Unsafe/algo_time_t.cs
index 12aaf23..7a7ad66 100644
--- a/src/ZstdSharp/Native/algo_time_t.cs
+++ b/src/ZstdSharp/Unsafe/algo_time_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct algo_time_t
     {
diff --git a/src/ZstdSharp/Native/blockProperties_t.cs b/src/ZstdSharp/Unsafe/blockProperties_t.cs
similarity index 86%
rename from src/ZstdSharp/Native/blockProperties_t.cs
rename to src/ZstdSharp/Unsafe/blockProperties_t.cs
index b09d1e8..12b0b45 100644
--- a/src/ZstdSharp/Native/blockProperties_t.cs
+++ b/src/ZstdSharp/Unsafe/blockProperties_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct blockProperties_t
     {
diff --git a/src/ZstdSharp/Native/blockType_e.cs b/src/ZstdSharp/Unsafe/blockType_e.cs
similarity index 83%
rename from src/ZstdSharp/Native/blockType_e.cs
rename to src/ZstdSharp/Unsafe/blockType_e.cs
index c5d84aa..ce5909a 100644
--- a/src/ZstdSharp/Native/blockType_e.cs
+++ b/src/ZstdSharp/Unsafe/blockType_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum blockType_e
     {
diff --git a/src/ZstdSharp/Native/decompressionAlgo.cs b/src/ZstdSharp/Unsafe/decompressionAlgo.cs
similarity index 89%
rename from src/ZstdSharp/Native/decompressionAlgo.cs
rename to src/ZstdSharp/Unsafe/decompressionAlgo.cs
index acc1fb8..d6b3e29 100644
--- a/src/ZstdSharp/Native/decompressionAlgo.cs
+++ b/src/ZstdSharp/Unsafe/decompressionAlgo.cs
@@ -1,7 +1,7 @@
 using System;
 using System.Runtime.InteropServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
     public unsafe delegate nuint decompressionAlgo(void* dst, nuint dstSize, void* cSrc, nuint cSrcSize);
diff --git a/src/ZstdSharp/Native/fseWkspMax_t.cs b/src/ZstdSharp/Unsafe/fseWkspMax_t.cs
similarity index 86%
rename from src/ZstdSharp/Native/fseWkspMax_t.cs
rename to src/ZstdSharp/Unsafe/fseWkspMax_t.cs
index dfe5c7e..2059858 100644
--- a/src/ZstdSharp/Native/fseWkspMax_t.cs
+++ b/src/ZstdSharp/Unsafe/fseWkspMax_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct fseWkspMax_t
     {
diff --git a/src/ZstdSharp/Native/ldmEntry_t.cs b/src/ZstdSharp/Unsafe/ldmEntry_t.cs
similarity index 82%
rename from src/ZstdSharp/Native/ldmEntry_t.cs
rename to src/ZstdSharp/Unsafe/ldmEntry_t.cs
index 0f784b5..d62ce44 100644
--- a/src/ZstdSharp/Native/ldmEntry_t.cs
+++ b/src/ZstdSharp/Unsafe/ldmEntry_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ldmEntry_t
     {
diff --git a/src/ZstdSharp/Native/ldmMatchCandidate_t.cs b/src/ZstdSharp/Unsafe/ldmMatchCandidate_t.cs
similarity index 88%
rename from src/ZstdSharp/Native/ldmMatchCandidate_t.cs
rename to src/ZstdSharp/Unsafe/ldmMatchCandidate_t.cs
index ed581a8..d492d28 100644
--- a/src/ZstdSharp/Native/ldmMatchCandidate_t.cs
+++ b/src/ZstdSharp/Unsafe/ldmMatchCandidate_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ldmMatchCandidate_t
     {
diff --git a/src/ZstdSharp/Native/ldmParams_t.cs b/src/ZstdSharp/Unsafe/ldmParams_t.cs
similarity index 95%
rename from src/ZstdSharp/Native/ldmParams_t.cs
rename to src/ZstdSharp/Unsafe/ldmParams_t.cs
index 3756f3a..63259eb 100644
--- a/src/ZstdSharp/Native/ldmParams_t.cs
+++ b/src/ZstdSharp/Unsafe/ldmParams_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ldmParams_t
     {
diff --git a/src/ZstdSharp/Native/ldmRollingHashState_t.cs b/src/ZstdSharp/Unsafe/ldmRollingHashState_t.cs
similarity index 83%
rename from src/ZstdSharp/Native/ldmRollingHashState_t.cs
rename to src/ZstdSharp/Unsafe/ldmRollingHashState_t.cs
index 2ba360c..cd5a60a 100644
--- a/src/ZstdSharp/Native/ldmRollingHashState_t.cs
+++ b/src/ZstdSharp/Unsafe/ldmRollingHashState_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct ldmRollingHashState_t
     {
diff --git a/src/ZstdSharp/Native/ldmState_t.cs b/src/ZstdSharp/Unsafe/ldmState_t.cs
similarity index 99%
rename from src/ZstdSharp/Native/ldmState_t.cs
rename to src/ZstdSharp/Unsafe/ldmState_t.cs
index 1f36363..441ea86 100644
--- a/src/ZstdSharp/Native/ldmState_t.cs
+++ b/src/ZstdSharp/Unsafe/ldmState_t.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct ldmState_t
     {
diff --git a/src/ZstdSharp/Native/nodeElt_s.cs b/src/ZstdSharp/Unsafe/nodeElt_s.cs
similarity index 87%
rename from src/ZstdSharp/Native/nodeElt_s.cs
rename to src/ZstdSharp/Unsafe/nodeElt_s.cs
index 8f00f76..d718227 100644
--- a/src/ZstdSharp/Native/nodeElt_s.cs
+++ b/src/ZstdSharp/Unsafe/nodeElt_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct nodeElt_s
     {
diff --git a/src/ZstdSharp/Native/offsetCount_t.cs b/src/ZstdSharp/Unsafe/offsetCount_t.cs
similarity index 82%
rename from src/ZstdSharp/Native/offsetCount_t.cs
rename to src/ZstdSharp/Unsafe/offsetCount_t.cs
index fca183e..4d373a0 100644
--- a/src/ZstdSharp/Native/offsetCount_t.cs
+++ b/src/ZstdSharp/Unsafe/offsetCount_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct offsetCount_t
     {
diff --git a/src/ZstdSharp/Native/optState_t.cs b/src/ZstdSharp/Unsafe/optState_t.cs
similarity index 98%
rename from src/ZstdSharp/Native/optState_t.cs
rename to src/ZstdSharp/Unsafe/optState_t.cs
index a7639ee..43a8fed 100644
--- a/src/ZstdSharp/Native/optState_t.cs
+++ b/src/ZstdSharp/Unsafe/optState_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct optState_t
     {
diff --git a/src/ZstdSharp/Native/rankPos.cs b/src/ZstdSharp/Unsafe/rankPos.cs
similarity index 81%
rename from src/ZstdSharp/Native/rankPos.cs
rename to src/ZstdSharp/Unsafe/rankPos.cs
index ef57951..e56e9a2 100644
--- a/src/ZstdSharp/Native/rankPos.cs
+++ b/src/ZstdSharp/Unsafe/rankPos.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct rankPos
     {
diff --git a/src/ZstdSharp/Native/rankValCol_t.cs b/src/ZstdSharp/Unsafe/rankValCol_t.cs
similarity index 94%
rename from src/ZstdSharp/Native/rankValCol_t.cs
rename to src/ZstdSharp/Unsafe/rankValCol_t.cs
index 3661d09..e969843 100644
--- a/src/ZstdSharp/Native/rankValCol_t.cs
+++ b/src/ZstdSharp/Unsafe/rankValCol_t.cs
@@ -1,7 +1,7 @@
 using System;
 using System.Runtime.CompilerServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct rankValCol_t
     {
diff --git a/src/ZstdSharp/Native/rawSeq.cs b/src/ZstdSharp/Unsafe/rawSeq.cs
similarity index 91%
rename from src/ZstdSharp/Native/rawSeq.cs
rename to src/ZstdSharp/Unsafe/rawSeq.cs
index 08469ce..38ae21f 100644
--- a/src/ZstdSharp/Native/rawSeq.cs
+++ b/src/ZstdSharp/Unsafe/rawSeq.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct rawSeq
     {
diff --git a/src/ZstdSharp/Native/rawSeqStore_t.cs b/src/ZstdSharp/Unsafe/rawSeqStore_t.cs
similarity index 95%
rename from src/ZstdSharp/Native/rawSeqStore_t.cs
rename to src/ZstdSharp/Unsafe/rawSeqStore_t.cs
index c8676d8..829df3c 100644
--- a/src/ZstdSharp/Native/rawSeqStore_t.cs
+++ b/src/ZstdSharp/Unsafe/rawSeqStore_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct rawSeqStore_t
     {
diff --git a/src/ZstdSharp/Native/repcodes_s.cs b/src/ZstdSharp/Unsafe/repcodes_s.cs
similarity index 80%
rename from src/ZstdSharp/Native/repcodes_s.cs
rename to src/ZstdSharp/Unsafe/repcodes_s.cs
index aa86976..4a443cb 100644
--- a/src/ZstdSharp/Native/repcodes_s.cs
+++ b/src/ZstdSharp/Unsafe/repcodes_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct repcodes_s
     {
diff --git a/src/ZstdSharp/Native/searchMax_f.cs b/src/ZstdSharp/Unsafe/searchMax_f.cs
similarity index 89%
rename from src/ZstdSharp/Native/searchMax_f.cs
rename to src/ZstdSharp/Unsafe/searchMax_f.cs
index cc3cc08..e335c77 100644
--- a/src/ZstdSharp/Native/searchMax_f.cs
+++ b/src/ZstdSharp/Unsafe/searchMax_f.cs
@@ -1,7 +1,7 @@
 using System;
 using System.Runtime.InteropServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
     public unsafe delegate nuint searchMax_f(ZSTD_matchState_t* ms, byte* ip, byte* iLimit, nuint* offsetPtr);
diff --git a/src/ZstdSharp/Native/searchMethod_e.cs b/src/ZstdSharp/Unsafe/searchMethod_e.cs
similarity index 80%
rename from src/ZstdSharp/Native/searchMethod_e.cs
rename to src/ZstdSharp/Unsafe/searchMethod_e.cs
index f5792c1..f7bd273 100644
--- a/src/ZstdSharp/Native/searchMethod_e.cs
+++ b/src/ZstdSharp/Unsafe/searchMethod_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum searchMethod_e
     {
diff --git a/src/ZstdSharp/Native/seqDef_s.cs b/src/ZstdSharp/Unsafe/seqDef_s.cs
similarity index 92%
rename from src/ZstdSharp/Native/seqDef_s.cs
rename to src/ZstdSharp/Unsafe/seqDef_s.cs
index 3d46727..0f176c6 100644
--- a/src/ZstdSharp/Native/seqDef_s.cs
+++ b/src/ZstdSharp/Unsafe/seqDef_s.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     /*-*******************************************
     *  Private declarations
diff --git a/src/ZstdSharp/Native/seqState_t.cs b/src/ZstdSharp/Unsafe/seqState_t.cs
similarity index 98%
rename from src/ZstdSharp/Native/seqState_t.cs
rename to src/ZstdSharp/Unsafe/seqState_t.cs
index 63f754d..b03b130 100644
--- a/src/ZstdSharp/Native/seqState_t.cs
+++ b/src/ZstdSharp/Unsafe/seqState_t.cs
@@ -2,7 +2,7 @@
 using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct seqState_t
     {
diff --git a/src/ZstdSharp/Native/seqStore_t.cs b/src/ZstdSharp/Unsafe/seqStore_t.cs
similarity index 96%
rename from src/ZstdSharp/Native/seqStore_t.cs
rename to src/ZstdSharp/Unsafe/seqStore_t.cs
index 782b978..0d193a5 100644
--- a/src/ZstdSharp/Native/seqStore_t.cs
+++ b/src/ZstdSharp/Unsafe/seqStore_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct seqStore_t
     {
diff --git a/src/ZstdSharp/Native/seq_t.cs b/src/ZstdSharp/Unsafe/seq_t.cs
similarity index 87%
rename from src/ZstdSharp/Native/seq_t.cs
rename to src/ZstdSharp/Unsafe/seq_t.cs
index 85a1d35..9594f7c 100644
--- a/src/ZstdSharp/Native/seq_t.cs
+++ b/src/ZstdSharp/Unsafe/seq_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public unsafe partial struct seq_t
     {
diff --git a/src/ZstdSharp/Native/sortedSymbol_t.cs b/src/ZstdSharp/Unsafe/sortedSymbol_t.cs
similarity index 82%
rename from src/ZstdSharp/Native/sortedSymbol_t.cs
rename to src/ZstdSharp/Unsafe/sortedSymbol_t.cs
index 6044e3d..b14642f 100644
--- a/src/ZstdSharp/Native/sortedSymbol_t.cs
+++ b/src/ZstdSharp/Unsafe/sortedSymbol_t.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public partial struct sortedSymbol_t
     {
diff --git a/src/ZstdSharp/Native/symbolEncodingType_e.cs b/src/ZstdSharp/Unsafe/symbolEncodingType_e.cs
similarity index 84%
rename from src/ZstdSharp/Native/symbolEncodingType_e.cs
rename to src/ZstdSharp/Unsafe/symbolEncodingType_e.cs
index c8ad362..beaa740 100644
--- a/src/ZstdSharp/Native/symbolEncodingType_e.cs
+++ b/src/ZstdSharp/Unsafe/symbolEncodingType_e.cs
@@ -1,6 +1,6 @@
 using System;
 
-namespace ZstdSharp
+namespace ZstdSharp.Unsafe
 {
     public enum symbolEncodingType_e
     {
diff --git a/src/ZstdSharp/ZstdException.cs b/src/ZstdSharp/ZstdException.cs
index 0020484..bb12d5a 100644
--- a/src/ZstdSharp/ZstdException.cs
+++ b/src/ZstdSharp/ZstdException.cs
@@ -1,4 +1,5 @@
 using System;
+using ZstdSharp.Unsafe;
 
 namespace ZstdSharp
 {