diff --git a/.vscode/tasks.json b/.vscode/tasks.json
index 2b1c3e6..952e812 100644
--- a/.vscode/tasks.json
+++ b/.vscode/tasks.json
@@ -116,35 +116,6 @@
       },
       "problemMatcher": []
     },
-    {
-      "label": "Valgrind: Framework Debug",
-      "command": "valgrind",
-      "args": [
-        "-v",
-        "--vgdb-error=0",
-        "--leak-check=full",
-        "--log-file=${workspaceFolder}/valgrind.log",
-        "--smc-check=all",
-        "--suppressions=${workspaceFolder}/mono.supp",
-        "mono",
-        "--debug",
-        "${workspaceFolder}/ProjectName/bin/Debug/net461/ProjectName.exe"
-      ],
-      "options": {
-        "env": {
-          "LD_LIBRARY_PATH": "${workspaceFolder}/ProjectName/bin/Debug/net461/lib64"
-        }
-      },
-      "type": "shell",
-      "dependsOn": [
-        "Build: Framework Debug"
-      ],
-      "group": {
-        "kind": "build",
-        "isDefault": true
-      },
-      "problemMatcher": []
-    },
     {
       "label": "Build & Run: Core Debug",
       "type": "shell",
@@ -199,7 +170,7 @@
       "command": "dotnet",
       "args": [
         "build",
-        "./ProjectName.sln",
+        "./ProjectName.Core.sln",
         "--configuration",
         "Release",
         "-f",
diff --git a/FNA.Settings.props b/FNA.Settings.props
new file mode 100644
index 0000000..4c1d2c2
--- /dev/null
+++ b/FNA.Settings.props
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+          <DefineConstants>$(DefineConstants)</DefineConstants>
+  </PropertyGroup>
+</Project>
diff --git a/ProjectName.Core.sln b/ProjectName.Core.sln
new file mode 100644
index 0000000..e733148
--- /dev/null
+++ b/ProjectName.Core.sln
@@ -0,0 +1,34 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.26124.0
+MinimumVisualStudioVersion = 15.0.26124.0
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectName.Core", "ProjectName\ProjectName.Core.csproj", "{4589302C-174A-4173-9654-CAA6CA1B5220}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Debug|x64 = Debug|x64
+		Debug|x86 = Debug|x86
+		Release|Any CPU = Release|Any CPU
+		Release|x64 = Release|x64
+		Release|x86 = Release|x86
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{4589302C-174A-4173-9654-CAA6CA1B5220}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4589302C-174A-4173-9654-CAA6CA1B5220}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4589302C-174A-4173-9654-CAA6CA1B5220}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{4589302C-174A-4173-9654-CAA6CA1B5220}.Debug|x64.Build.0 = Debug|Any CPU
+		{4589302C-174A-4173-9654-CAA6CA1B5220}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{4589302C-174A-4173-9654-CAA6CA1B5220}.Debug|x86.Build.0 = Debug|Any CPU
+		{4589302C-174A-4173-9654-CAA6CA1B5220}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4589302C-174A-4173-9654-CAA6CA1B5220}.Release|Any CPU.Build.0 = Release|Any CPU
+		{4589302C-174A-4173-9654-CAA6CA1B5220}.Release|x64.ActiveCfg = Release|Any CPU
+		{4589302C-174A-4173-9654-CAA6CA1B5220}.Release|x64.Build.0 = Release|Any CPU
+		{4589302C-174A-4173-9654-CAA6CA1B5220}.Release|x86.ActiveCfg = Release|Any CPU
+		{4589302C-174A-4173-9654-CAA6CA1B5220}.Release|x86.Build.0 = Release|Any CPU
+	EndGlobalSection
+EndGlobal
diff --git a/ProjectName/Content/README.md b/ProjectName/Content/README.md
new file mode 100644
index 0000000..d05e474
--- /dev/null
+++ b/ProjectName/Content/README.md
@@ -0,0 +1 @@
+Insert your content files here (sprites, sound, etc)
diff --git a/ProjectName/ProjectName.Core.csproj b/ProjectName/ProjectName.Core.csproj
new file mode 100644
index 0000000..c8cc4e2
--- /dev/null
+++ b/ProjectName/ProjectName.Core.csproj
@@ -0,0 +1,29 @@
+<Project>
+	<PropertyGroup>
+		<BaseIntermediateOutputPath>obj\$(MSBuildProjectName)</BaseIntermediateOutputPath>
+	</PropertyGroup>
+	<Import Sdk="Microsoft.NET.Sdk" Project="Sdk.props" />
+  <PropertyGroup>
+    <OutputType>WinExe</OutputType>
+    <TargetFramework>netcoreapp3.1</TargetFramework>
+    <TargetName>ProjectName</TargetName>
+    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
+    <LangVersion>8.0</LangVersion>
+    <StartupObject>ProjectName.Program</StartupObject>
+    <AssemblyName>ProjectName</AssemblyName>
+    <RootNamespace>ProjectName</RootNamespace>
+    <TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
+    <RuntimeIdentifiers>win-x64;osx-x64;linux-x64</RuntimeIdentifiers>
+    <ApplicationIcon/>
+  </PropertyGroup>
+  <ItemGroup>
+    <Content Include="Content\**\*.*">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\FNA\FNA.Core.csproj"/>
+  </ItemGroup>
+  <Import Project="..\build\CopyFNALibs.targets"/>
+  <Import Sdk="Microsoft.NET.Sdk" Project="Sdk.targets" />
+</Project>