diff --git a/WindreamHub.sln b/WindreamHub.sln
new file mode 100644
index 0000000..0ef9456
--- /dev/null
+++ b/WindreamHub.sln
@@ -0,0 +1,37 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31903.59
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{7BFFBEF2-6639-41F6-B6C2-D231FF719F57}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindreamHub.Abstractions", "src\WindreamHub.Abstractions\WindreamHub.Abstractions.csproj", "{4C12B988-FEB8-4141-8CD2-1EA4AC3E9270}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindreamHub.Client", "src\WindreamHub.Client\WindreamHub.Client.csproj", "{D499FEC3-FDDD-45F0-BEA2-025B533BCD21}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {4C12B988-FEB8-4141-8CD2-1EA4AC3E9270}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4C12B988-FEB8-4141-8CD2-1EA4AC3E9270}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4C12B988-FEB8-4141-8CD2-1EA4AC3E9270}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4C12B988-FEB8-4141-8CD2-1EA4AC3E9270}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D499FEC3-FDDD-45F0-BEA2-025B533BCD21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D499FEC3-FDDD-45F0-BEA2-025B533BCD21}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D499FEC3-FDDD-45F0-BEA2-025B533BCD21}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D499FEC3-FDDD-45F0-BEA2-025B533BCD21}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {4C12B988-FEB8-4141-8CD2-1EA4AC3E9270} = {7BFFBEF2-6639-41F6-B6C2-D231FF719F57}
+ {D499FEC3-FDDD-45F0-BEA2-025B533BCD21} = {7BFFBEF2-6639-41F6-B6C2-D231FF719F57}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {C2C9327F-0E3C-40B5-B878-DA59F03CF150}
+ EndGlobalSection
+EndGlobal
diff --git a/src/WindreamHub.Abstractions/WindreamHub.Abstractions.csproj b/src/WindreamHub.Abstractions/WindreamHub.Abstractions.csproj
new file mode 100644
index 0000000..cfadb03
--- /dev/null
+++ b/src/WindreamHub.Abstractions/WindreamHub.Abstractions.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+
+
diff --git a/src/WindreamHub.Client/WindreamHub.Client.csproj b/src/WindreamHub.Client/WindreamHub.Client.csproj
new file mode 100644
index 0000000..cfadb03
--- /dev/null
+++ b/src/WindreamHub.Client/WindreamHub.Client.csproj
@@ -0,0 +1,9 @@
+
+
+
+ net7.0
+ enable
+ enable
+
+
+