diff --git a/Pallo TK/.idea/.idea.Pallo TK/.idea/.gitignore b/Pallo TK/.idea/.idea.Pallo TK/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..b48651f43a64bd7f17c3a1154e908157f67e13b0
--- /dev/null
+++ b/Pallo TK/.idea/.idea.Pallo TK/.idea/.gitignore	
@@ -0,0 +1,13 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Rider ignored files
+/projectSettingsUpdater.xml
+/.idea.Pallo TK.iml
+/contentModel.xml
+/modules.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/Pallo TK/.idea/.idea.Pallo TK/.idea/indexLayout.xml b/Pallo TK/.idea/.idea.Pallo TK/.idea/indexLayout.xml
new file mode 100644
index 0000000000000000000000000000000000000000..7b08163cebc50fb3e777eea4881b68fcebc10590
--- /dev/null
+++ b/Pallo TK/.idea/.idea.Pallo TK/.idea/indexLayout.xml	
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="UserContentModel">
+    <attachedFolders />
+    <explicitIncludes />
+    <explicitExcludes />
+  </component>
+</project>
\ No newline at end of file
diff --git a/Pallo TK/.idea/.idea.Pallo TK/.idea/vcs.xml b/Pallo TK/.idea/.idea.Pallo TK/.idea/vcs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6c0b8635858dc7ad44b93df54b762707ce49eefc
--- /dev/null
+++ b/Pallo TK/.idea/.idea.Pallo TK/.idea/vcs.xml	
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/Pallo TK/Pallo TK.sln b/Pallo TK/Pallo TK.sln
new file mode 100644
index 0000000000000000000000000000000000000000..075f76e0fa04d8de2a80ac5259d03dea7fc6beb5
--- /dev/null
+++ b/Pallo TK/Pallo TK.sln	
@@ -0,0 +1,16 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pallo TK", "Pallo TK\Pallo TK.csproj", "{0BF2CD64-B103-4D55-A750-F7045C2BC89F}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{0BF2CD64-B103-4D55-A750-F7045C2BC89F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0BF2CD64-B103-4D55-A750-F7045C2BC89F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0BF2CD64-B103-4D55-A750-F7045C2BC89F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0BF2CD64-B103-4D55-A750-F7045C2BC89F}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+EndGlobal
diff --git a/Pallo TK/Pallo TK/Ohjelma.cs b/Pallo TK/Pallo TK/Ohjelma.cs
new file mode 100644
index 0000000000000000000000000000000000000000..f586b89aeae7746f24509418dd817bc7d9f96f1f
--- /dev/null
+++ b/Pallo TK/Pallo TK/Ohjelma.cs	
@@ -0,0 +1,26 @@
+#region Using Statements
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+#endregion
+
+namespace Pallo_TK
+{
+    /// <summary>
+    /// The main class.
+    /// </summary>
+    public static class Program
+    {
+        /// <summary>
+        /// The main entry point for the application.
+        /// </summary>
+        [STAThread]
+        static void Main()
+        {
+            using var game = new Pallo_TK();
+            game.Run();
+        }
+    }
+}
\ No newline at end of file
diff --git a/Pallo TK/Pallo TK/Pallo TK.cs b/Pallo TK/Pallo TK/Pallo TK.cs
new file mode 100644
index 0000000000000000000000000000000000000000..60de874570fd5e2befa095738c5a45e102c1bb09
--- /dev/null
+++ b/Pallo TK/Pallo TK/Pallo TK.cs	
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using Jypeli;
+using Jypeli.Assets;
+using Jypeli.Controls;
+using Jypeli.Widgets;
+
+namespace Pallo_TK;
+
+/// @author antto
+/// @version 17.02.2025
+/// <summary>
+/// 
+/// </summary>
+public class Pallo_TK : PhysicsGame
+{
+    public override void Begin()
+    {
+        // Kirjoita ohjelmakoodisi tähän
+
+        PhoneBackButton.Listen(ConfirmExit, "Lopeta peli");
+        Keyboard.Listen(Key.Escape, ButtonState.Pressed, ConfirmExit, "Lopeta peli");
+    }
+}
\ No newline at end of file
diff --git a/Pallo TK/Pallo TK/Pallo TK.csproj b/Pallo TK/Pallo TK/Pallo TK.csproj
new file mode 100644
index 0000000000000000000000000000000000000000..d164748ef3ffb530b112a04baa4bad2904c8c70d
--- /dev/null
+++ b/Pallo TK/Pallo TK/Pallo TK.csproj	
@@ -0,0 +1,13 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+    <PropertyGroup>
+        <OutputType>WinExe</OutputType>
+        <TargetFramework>net8.0</TargetFramework>
+    </PropertyGroup>
+
+    <ItemGroup>
+        <PackageReference Include="Jypeli.NET" Version="11.*"/>
+        <PackageReference Include="Jypeli.FarseerPhysics.NET" Version="2.*"/>
+    </ItemGroup>
+
+</Project>