diff --git a/OpenNest/IO/DxfExporter.cs b/OpenNest.IO/DxfExporter.cs
similarity index 100%
rename from OpenNest/IO/DxfExporter.cs
rename to OpenNest.IO/DxfExporter.cs
diff --git a/OpenNest/IO/DxfImporter.cs b/OpenNest.IO/DxfImporter.cs
similarity index 100%
rename from OpenNest/IO/DxfImporter.cs
rename to OpenNest.IO/DxfImporter.cs
diff --git a/OpenNest/IO/Extensions.cs b/OpenNest.IO/Extensions.cs
similarity index 100%
rename from OpenNest/IO/Extensions.cs
rename to OpenNest.IO/Extensions.cs
diff --git a/OpenNest/IO/NestReader.cs b/OpenNest.IO/NestReader.cs
similarity index 100%
rename from OpenNest/IO/NestReader.cs
rename to OpenNest.IO/NestReader.cs
diff --git a/OpenNest/IO/NestWriter.cs b/OpenNest.IO/NestWriter.cs
similarity index 100%
rename from OpenNest/IO/NestWriter.cs
rename to OpenNest.IO/NestWriter.cs
diff --git a/OpenNest.IO/OpenNest.IO.csproj b/OpenNest.IO/OpenNest.IO.csproj
new file mode 100644
index 0000000..cf96aaf
--- /dev/null
+++ b/OpenNest.IO/OpenNest.IO.csproj
@@ -0,0 +1,11 @@
+
+
+ net8.0-windows
+ OpenNest.IO
+ OpenNest.IO
+
+
+
+
+
+
diff --git a/OpenNest/IO/ProgramReader.cs b/OpenNest.IO/ProgramReader.cs
similarity index 100%
rename from OpenNest/IO/ProgramReader.cs
rename to OpenNest.IO/ProgramReader.cs
diff --git a/OpenNest.sln b/OpenNest.sln
index 251ebd6..6972af1 100644
--- a/OpenNest.sln
+++ b/OpenNest.sln
@@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenNest.Engine", "OpenNest
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenNest.Gpu", "OpenNest.Gpu\OpenNest.Gpu.csproj", "{1F0DD58E-9E83-4F78-A9D9-0557C0B2D96F}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenNest.IO", "OpenNest.IO\OpenNest.IO.csproj", "{1EFCF5FB-7ADE-4044-B55D-60F6F75C3A8B}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -69,6 +71,18 @@ Global
{1F0DD58E-9E83-4F78-A9D9-0557C0B2D96F}.Release|x64.Build.0 = Release|Any CPU
{1F0DD58E-9E83-4F78-A9D9-0557C0B2D96F}.Release|x86.ActiveCfg = Release|Any CPU
{1F0DD58E-9E83-4F78-A9D9-0557C0B2D96F}.Release|x86.Build.0 = Release|Any CPU
+ {1EFCF5FB-7ADE-4044-B55D-60F6F75C3A8B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1EFCF5FB-7ADE-4044-B55D-60F6F75C3A8B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1EFCF5FB-7ADE-4044-B55D-60F6F75C3A8B}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {1EFCF5FB-7ADE-4044-B55D-60F6F75C3A8B}.Debug|x64.Build.0 = Debug|Any CPU
+ {1EFCF5FB-7ADE-4044-B55D-60F6F75C3A8B}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {1EFCF5FB-7ADE-4044-B55D-60F6F75C3A8B}.Debug|x86.Build.0 = Debug|Any CPU
+ {1EFCF5FB-7ADE-4044-B55D-60F6F75C3A8B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1EFCF5FB-7ADE-4044-B55D-60F6F75C3A8B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1EFCF5FB-7ADE-4044-B55D-60F6F75C3A8B}.Release|x64.ActiveCfg = Release|Any CPU
+ {1EFCF5FB-7ADE-4044-B55D-60F6F75C3A8B}.Release|x64.Build.0 = Release|Any CPU
+ {1EFCF5FB-7ADE-4044-B55D-60F6F75C3A8B}.Release|x86.ActiveCfg = Release|Any CPU
+ {1EFCF5FB-7ADE-4044-B55D-60F6F75C3A8B}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/OpenNest/OpenNest.csproj b/OpenNest/OpenNest.csproj
index 4eafc18..b2c2b77 100644
--- a/OpenNest/OpenNest.csproj
+++ b/OpenNest/OpenNest.csproj
@@ -14,7 +14,7 @@
-
+