diff --git a/.vs/VSWorkspaceState.json b/.vs/VSWorkspaceState.json
deleted file mode 100644
index abf605a14696e95dba2d23454e1f072e37749939..0000000000000000000000000000000000000000
--- a/.vs/VSWorkspaceState.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
-  "ExpandedNodes": [
-    ""
-  ],
-  "SelectedNode": "\\C:\\Users\\Drake\\Source\\Repos\\puzzleplayer",
-  "PreviewInSolutionExplorer": false
-}
\ No newline at end of file
diff --git a/.vs/puzzleplayer/v17/.wsuo b/.vs/puzzleplayer/v17/.wsuo
deleted file mode 100644
index 0b0b647378b287bf816cf0f43bc3b31df174e1db..0000000000000000000000000000000000000000
Binary files a/.vs/puzzleplayer/v17/.wsuo and /dev/null differ
diff --git a/.vs/puzzleplayer/v17/DocumentLayout.json b/.vs/puzzleplayer/v17/DocumentLayout.json
deleted file mode 100644
index 8bc25c0d55f6b3d0193b585dc2f4de11a3b61062..0000000000000000000000000000000000000000
--- a/.vs/puzzleplayer/v17/DocumentLayout.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "Version": 1,
-  "WorkspaceRootPath": "C:\\Users\\Drake\\source\\repos\\puzzleplayer\\",
-  "Documents": [],
-  "DocumentGroupContainers": [
-    {
-      "Orientation": 0,
-      "VerticalTabListWidth": 256,
-      "DocumentGroups": [
-        {
-          "DockedWidth": 200,
-          "SelectedChildIndex": -1,
-          "Children": [
-            {
-              "$type": "Bookmark",
-              "Name": "ST:0:0:{1c4feeaa-4718-4aa9-859d-94ce25d182ba}"
-            }
-          ]
-        }
-      ]
-    }
-  ]
-}
\ No newline at end of file
diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite
deleted file mode 100644
index bda42af9a107c643d6e2105cc1c44d5f6c72db77..0000000000000000000000000000000000000000
Binary files a/.vs/slnx.sqlite and /dev/null differ
diff --git a/Class1.cs b/Class1.cs
deleted file mode 100644
index d555ecb0741fbfa8bd94ffcd3f3930cdd1949874..0000000000000000000000000000000000000000
--- a/Class1.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-using System;
-
-public class Class1
-{
-	public Class1()
-	{
-	}
-}
diff --git a/Project.cs b/Project.cs
deleted file mode 100644
index 5a5f9337aead648512e81aab55bda7faf149776a..0000000000000000000000000000000000000000
--- a/Project.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using System;
-using System.Windows.Forms;
-
-static class Program
-{
-    [STAThreadAttribute]
-    static void Main()
-    {
-        Console.WriteLine("hey");
-    }
-}
\ No newline at end of file
diff --git a/PuzzlePlayer/PuzzlePlayer.cs b/PuzzlePlayer/PuzzlePlayer.cs
new file mode 100644
index 0000000000000000000000000000000000000000..693d43b305b1f0eba162941886bf12f9bb119104
--- /dev/null
+++ b/PuzzlePlayer/PuzzlePlayer.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Drawing;
+using System.Windows.Forms;
+
+class Program
+{
+    internal static void Main(string[] args)
+    {
+        Application.Run(new MainForm());
+    }
+}
+
+class MainForm : Form
+{
+
+}
\ No newline at end of file
diff --git a/PuzzlePlayer/PuzzlePlayer.csproj b/PuzzlePlayer/PuzzlePlayer.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..e8d89af5c73afe40d77806ab543081326456247e
--- /dev/null
+++ b/PuzzlePlayer/PuzzlePlayer.csproj
@@ -0,0 +1,12 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>net8.0-windows</TargetFramework>
+    <RootNamespace>PuzzlePlayer_Namespace</RootNamespace>
+    <Nullable>disable</Nullable>
+    <UseWindowsForms>true</UseWindowsForms>
+    <ImplicitUsings>disable</ImplicitUsings>
+  </PropertyGroup>
+
+</Project>
\ No newline at end of file
diff --git a/PuzzlePlayer/PuzzlePlayer.sln b/PuzzlePlayer/PuzzlePlayer.sln
new file mode 100644
index 0000000000000000000000000000000000000000..5171589b0703fb6428fdc473b86481d1d8ab3352
--- /dev/null
+++ b/PuzzlePlayer/PuzzlePlayer.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35303.130
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PuzzlePlayer", "PuzzlePlayer.csproj", "{FED8B142-5A6F-4F72-9F63-7A298451D2DB}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{FED8B142-5A6F-4F72-9F63-7A298451D2DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{FED8B142-5A6F-4F72-9F63-7A298451D2DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{FED8B142-5A6F-4F72-9F63-7A298451D2DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{FED8B142-5A6F-4F72-9F63-7A298451D2DB}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {00AE3CDE-3FFE-4FB7-9671-0B4ACAD3F14C}
+	EndGlobalSection
+EndGlobal