diff --git a/VolcanicCore.sln b/VolcanicCore.sln
index bd6551e..33c8974 100644
--- a/VolcanicCore.sln
+++ b/VolcanicCore.sln
@@ -13,6 +13,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VolcanicCore.Api", "src\Vol
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VolcanicCore.Tests", "tests\VolcanicCore.Tests\VolcanicCore.Tests.csproj", "{FAA6DA23-2FD7-412B-8C05-36D09DD0A2D5}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VolcanicCore.Nodes", "src\VolcanicCore.Nodes\VolcanicCore.Nodes.csproj", "{CAFE9532-5E96-4B5B-8E51-67DFECE93F28}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VolcanicCore.Providers", "src\VolcanicCore.Providers\VolcanicCore.Providers.csproj", "{06F97507-9D5E-4163-A5A8-CB953FA92C76}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -71,6 +75,30 @@ Global
{FAA6DA23-2FD7-412B-8C05-36D09DD0A2D5}.Release|x64.Build.0 = Release|Any CPU
{FAA6DA23-2FD7-412B-8C05-36D09DD0A2D5}.Release|x86.ActiveCfg = Release|Any CPU
{FAA6DA23-2FD7-412B-8C05-36D09DD0A2D5}.Release|x86.Build.0 = Release|Any CPU
+ {CAFE9532-5E96-4B5B-8E51-67DFECE93F28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CAFE9532-5E96-4B5B-8E51-67DFECE93F28}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CAFE9532-5E96-4B5B-8E51-67DFECE93F28}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {CAFE9532-5E96-4B5B-8E51-67DFECE93F28}.Debug|x64.Build.0 = Debug|Any CPU
+ {CAFE9532-5E96-4B5B-8E51-67DFECE93F28}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {CAFE9532-5E96-4B5B-8E51-67DFECE93F28}.Debug|x86.Build.0 = Debug|Any CPU
+ {CAFE9532-5E96-4B5B-8E51-67DFECE93F28}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CAFE9532-5E96-4B5B-8E51-67DFECE93F28}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CAFE9532-5E96-4B5B-8E51-67DFECE93F28}.Release|x64.ActiveCfg = Release|Any CPU
+ {CAFE9532-5E96-4B5B-8E51-67DFECE93F28}.Release|x64.Build.0 = Release|Any CPU
+ {CAFE9532-5E96-4B5B-8E51-67DFECE93F28}.Release|x86.ActiveCfg = Release|Any CPU
+ {CAFE9532-5E96-4B5B-8E51-67DFECE93F28}.Release|x86.Build.0 = Release|Any CPU
+ {06F97507-9D5E-4163-A5A8-CB953FA92C76}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {06F97507-9D5E-4163-A5A8-CB953FA92C76}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {06F97507-9D5E-4163-A5A8-CB953FA92C76}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {06F97507-9D5E-4163-A5A8-CB953FA92C76}.Debug|x64.Build.0 = Debug|Any CPU
+ {06F97507-9D5E-4163-A5A8-CB953FA92C76}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {06F97507-9D5E-4163-A5A8-CB953FA92C76}.Debug|x86.Build.0 = Debug|Any CPU
+ {06F97507-9D5E-4163-A5A8-CB953FA92C76}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {06F97507-9D5E-4163-A5A8-CB953FA92C76}.Release|Any CPU.Build.0 = Release|Any CPU
+ {06F97507-9D5E-4163-A5A8-CB953FA92C76}.Release|x64.ActiveCfg = Release|Any CPU
+ {06F97507-9D5E-4163-A5A8-CB953FA92C76}.Release|x64.Build.0 = Release|Any CPU
+ {06F97507-9D5E-4163-A5A8-CB953FA92C76}.Release|x86.ActiveCfg = Release|Any CPU
+ {06F97507-9D5E-4163-A5A8-CB953FA92C76}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -80,5 +108,7 @@ Global
{D28E8179-24A2-4334-BA8E-1F8631826A07} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{819B0D84-A389-408B-91D0-32D2F67BB23F} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
{FAA6DA23-2FD7-412B-8C05-36D09DD0A2D5} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
+ {CAFE9532-5E96-4B5B-8E51-67DFECE93F28} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
+ {06F97507-9D5E-4163-A5A8-CB953FA92C76} = {827E0CD3-B72D-47B6-A68D-7590B98EB39B}
EndGlobalSection
EndGlobal
diff --git a/src/VolcanicCore.Api/VolcanicCore.Api.csproj b/src/VolcanicCore.Api/VolcanicCore.Api.csproj
index 69b2933..395602a 100644
--- a/src/VolcanicCore.Api/VolcanicCore.Api.csproj
+++ b/src/VolcanicCore.Api/VolcanicCore.Api.csproj
@@ -3,6 +3,8 @@
+
+
diff --git a/src/VolcanicCore.Nodes/VolcanicCore.Nodes.csproj b/src/VolcanicCore.Nodes/VolcanicCore.Nodes.csproj
new file mode 100644
index 0000000..7c2e607
--- /dev/null
+++ b/src/VolcanicCore.Nodes/VolcanicCore.Nodes.csproj
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ net9.0
+ enable
+ enable
+
+
+
diff --git a/src/VolcanicCore.Providers/VolcanicCore.Providers.csproj b/src/VolcanicCore.Providers/VolcanicCore.Providers.csproj
new file mode 100644
index 0000000..3e44c23
--- /dev/null
+++ b/src/VolcanicCore.Providers/VolcanicCore.Providers.csproj
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+ net9.0
+ enable
+ enable
+
+
+
diff --git a/tests/VolcanicCore.Tests/VolcanicCore.Tests.csproj b/tests/VolcanicCore.Tests/VolcanicCore.Tests.csproj
index 568c8e5..3a8c2d9 100644
--- a/tests/VolcanicCore.Tests/VolcanicCore.Tests.csproj
+++ b/tests/VolcanicCore.Tests/VolcanicCore.Tests.csproj
@@ -23,6 +23,8 @@
+
+