diff --git a/04/CeresSearch.Tests/CeresSearch.Tests.csproj b/04/CeresSearch.Tests/CeresSearch.Tests.csproj
new file mode 100644
index 0000000..fbdc571
--- /dev/null
+++ b/04/CeresSearch.Tests/CeresSearch.Tests.csproj
@@ -0,0 +1,19 @@
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+ CA1822
+
+
+
+
+
+
+
+
+
+
+
diff --git a/04/CeresSearch/CeresSearch.csproj b/04/CeresSearch/CeresSearch.csproj
new file mode 100644
index 0000000..a4dee13
--- /dev/null
+++ b/04/CeresSearch/CeresSearch.csproj
@@ -0,0 +1,20 @@
+
+
+
+ Exe
+ net9.0
+ enable
+ enable
+ CA1822
+
+
+
+
+
+
+
+
+ PreserveNewest
+
+
+
diff --git a/04/CeresSearch/Program.cs b/04/CeresSearch/Program.cs
new file mode 100644
index 0000000..3751555
--- /dev/null
+++ b/04/CeresSearch/Program.cs
@@ -0,0 +1,2 @@
+// See https://aka.ms/new-console-template for more information
+Console.WriteLine("Hello, World!");
diff --git a/AdventOfCode2024.sln b/AdventOfCode2024.sln
index b8fad3c..27aabd0 100644
--- a/AdventOfCode2024.sln
+++ b/AdventOfCode2024.sln
@@ -25,6 +25,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MullItOver.Tests", "03\Mull
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MullItOver", "03\MullItOver\MullItOver.csproj", "{B0F3B761-E902-4853-85D0-E4DACABBBD2B}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "04", "04", "{90547399-676A-4C0E-8CC1-75B7055DE486}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CeresSearch.Tests", "04\CeresSearch.Tests\CeresSearch.Tests.csproj", "{72B647D7-6F26-4661-BF59-2687233B9976}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CeresSearch", "04\CeresSearch\CeresSearch.csproj", "{3CC6D885-66BC-4F8B-89BF-C299D31AE9FB}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -58,6 +64,14 @@ Global
{B0F3B761-E902-4853-85D0-E4DACABBBD2B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B0F3B761-E902-4853-85D0-E4DACABBBD2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B0F3B761-E902-4853-85D0-E4DACABBBD2B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {72B647D7-6F26-4661-BF59-2687233B9976}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {72B647D7-6F26-4661-BF59-2687233B9976}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {72B647D7-6F26-4661-BF59-2687233B9976}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {72B647D7-6F26-4661-BF59-2687233B9976}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3CC6D885-66BC-4F8B-89BF-C299D31AE9FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3CC6D885-66BC-4F8B-89BF-C299D31AE9FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3CC6D885-66BC-4F8B-89BF-C299D31AE9FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3CC6D885-66BC-4F8B-89BF-C299D31AE9FB}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{1AFE2FF1-A55D-4D86-A9BB-9875CA0D14D8} = {270B7829-6D23-4B34-91FE-D87D533AF2AB}
@@ -66,5 +80,7 @@ Global
{8275EA3C-B88A-4719-866C-A5B49BD6B74E} = {F73AFAD4-FBCE-4A39-B69E-CDA1B3921902}
{1705CBAF-D90F-4303-932B-3AA65AC7A06B} = {D4B938F3-3B4A-4020-BDD5-6F1A55063F83}
{B0F3B761-E902-4853-85D0-E4DACABBBD2B} = {D4B938F3-3B4A-4020-BDD5-6F1A55063F83}
+ {72B647D7-6F26-4661-BF59-2687233B9976} = {90547399-676A-4C0E-8CC1-75B7055DE486}
+ {3CC6D885-66BC-4F8B-89BF-C299D31AE9FB} = {90547399-676A-4C0E-8CC1-75B7055DE486}
EndGlobalSection
EndGlobal