diff --git a/favicon_io/about.txt b/favicon_io/about.txt
new file mode 100644
index 0000000..2062908
--- /dev/null
+++ b/favicon_io/about.txt
@@ -0,0 +1,6 @@
+This favicon was generated using the following graphics from Twitter Twemoji:
+
+- Graphics Title: 1f680.svg
+- Graphics Author: Copyright 2020 Twitter, Inc and other contributors (https://github.com/twitter/twemoji)
+- Graphics Source: https://github.com/twitter/twemoji/blob/master/assets/svg/1f680.svg
+- Graphics License: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
diff --git a/favicon_io/android-chrome-192x192.png b/favicon_io/android-chrome-192x192.png
new file mode 100644
index 0000000..385d40d
Binary files /dev/null and b/favicon_io/android-chrome-192x192.png differ
diff --git a/favicon_io/android-chrome-512x512.png b/favicon_io/android-chrome-512x512.png
new file mode 100644
index 0000000..843853f
Binary files /dev/null and b/favicon_io/android-chrome-512x512.png differ
diff --git a/favicon_io/apple-touch-icon.png b/favicon_io/apple-touch-icon.png
new file mode 100644
index 0000000..1b41da6
Binary files /dev/null and b/favicon_io/apple-touch-icon.png differ
diff --git a/favicon_io/favicon-16x16.png b/favicon_io/favicon-16x16.png
new file mode 100644
index 0000000..870d85f
Binary files /dev/null and b/favicon_io/favicon-16x16.png differ
diff --git a/favicon_io/favicon-32x32.png b/favicon_io/favicon-32x32.png
new file mode 100644
index 0000000..89bbbad
Binary files /dev/null and b/favicon_io/favicon-32x32.png differ
diff --git a/favicon_io/favicon.ico b/favicon_io/favicon.ico
new file mode 100644
index 0000000..385d320
Binary files /dev/null and b/favicon_io/favicon.ico differ
diff --git a/favicon_io/site.webmanifest b/favicon_io/site.webmanifest
new file mode 100644
index 0000000..45dc8a2
--- /dev/null
+++ b/favicon_io/site.webmanifest
@@ -0,0 +1 @@
+{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
\ No newline at end of file
diff --git a/footer.js b/footer.js
index c3fe9fc..849c82d 100644
--- a/footer.js
+++ b/footer.js
@@ -45,7 +45,6 @@ class Footer extends HTMLElement {
 
 customElements.define('footer-component', Footer);
 
-// @license-end
 
 // CSS for the hidden button
 const style = document.createElement('style');
@@ -59,10 +58,12 @@ style.textContent = `
   border: none;
   font-size: 24px;
   cursor: pointer;
-}
-
-.footer-content:hover .secret-button {
-  display: block;
-}
-`;
+  }
+  
+  .footer-content:hover .secret-button {
+    display: block;
+    }
+    `;
 document.head.appendChild(style);
+
+// @license-end
\ No newline at end of file
diff --git a/index.html b/index.html
index c757b03..f9b4677 100644
--- a/index.html
+++ b/index.html
@@ -24,6 +24,24 @@
     <script src="header.js" type="text/javascript" defer></script>
     <script src="footer.js" type="text/javascript" defer></script>
     <link rel="stylesheet" href="styles.css" />
+    <link
+      rel="apple-touch-icon"
+      sizes="180x180"
+      href="favicon_io/apple-touch-icon.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="32x32"
+      href="favicon_io/favicon-32x32.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="16x16"
+      href="favicon_io/favicon-16x16.png"
+    />
+    <link rel="manifest" href="favicon_io/site.webmanifest" />
     <title>Interstellar Development</title>
   </head>
 
diff --git a/secret/asteroidDestroyer/explenation.html b/secret/asteroidDestroyer/explenation.html
index e6fed38..843c32c 100644
--- a/secret/asteroidDestroyer/explenation.html
+++ b/secret/asteroidDestroyer/explenation.html
@@ -5,6 +5,24 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>Game Landing Page</title>
     <link rel="stylesheet" href="styles.css" />
+    <link
+      rel="apple-touch-icon"
+      sizes="180x180"
+      href="../../favicon_io/apple-touch-icon.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="32x32"
+      href="../../favicon_io/favicon-32x32.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="16x16"
+      href="../../favicon_io/favicon-16x16.png"
+    />
+    <link rel="manifest" href="../../favicon_io/site.webmanifest" />
   </head>
   <body>
     <div class="landing-page">
diff --git a/secret/asteroidDestroyer/secret.html b/secret/asteroidDestroyer/secret.html
index 9d7f63d..1b22d19 100644
--- a/secret/asteroidDestroyer/secret.html
+++ b/secret/asteroidDestroyer/secret.html
@@ -5,6 +5,24 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>Asteroid Shooter</title>
     <link rel="stylesheet" href="style.css" />
+    <link
+      rel="apple-touch-icon"
+      sizes="180x180"
+      href="../../favicon_io/apple-touch-icon.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="32x32"
+      href="../../favicon_io/favicon-32x32.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="16x16"
+      href="../../favicon_io/favicon-16x16.png"
+    />
+    <link rel="manifest" href="../../favicon_io/site.webmanifest" />
   </head>
   <body>
     <canvas id="gameCanvas"></canvas>
diff --git a/secret/endlessRunner/index.html b/secret/endlessRunner/index.html
index e69de29..c2feb26 100644
--- a/secret/endlessRunner/index.html
+++ b/secret/endlessRunner/index.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>Endless runner</title>
+    <link
+      rel="apple-touch-icon"
+      sizes="180x180"
+      href="../../favicon_io/apple-touch-icon.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="32x32"
+      href="../../favicon_io/favicon-32x32.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="16x16"
+      href="../../favicon_io/favicon-16x16.png"
+    />
+    <link rel="manifest" href="../../favicon_io/site.webmanifest" />
+  </head>
+  <body>
+    <div class="game-container">
+      <canvas id="gameCanvas"></canvas>
+      <button id="restartBtn" onclick="restartGame()">Restart</button>
+    </div>
+    <script src="script.js"></script>
+  </body>
+</html>
diff --git a/secret/endlessRunner/script.js b/secret/endlessRunner/script.js
index e69de29..c1f200f 100644
--- a/secret/endlessRunner/script.js
+++ b/secret/endlessRunner/script.js
@@ -0,0 +1,78 @@
+import { useEffect, useRef, useState } from "react";
+
+export default function EndlessRunner() {
+    const canvasRef = useRef(null);
+    const [running, setRunning] = useState(true);
+    const player = { x: 50, y: 150, width: 20, height: 20, dy: 0 };
+    const gravity = 0.5;
+    let obstacles = [];
+    let score = 0;
+
+    useEffect(() => {
+        const canvas = canvasRef.current;
+        const ctx = canvas.getContext("2d");
+        canvas.width = window.innerWidth;
+        canvas.height = 300;
+
+        function update() {
+            if (!running) return;
+            ctx.clearRect(0, 0, canvas.width, canvas.height);
+
+            // Player physics
+            player.dy += gravity;
+            player.y += player.dy;
+            if (player.y > 150) {
+                player.y = 150;
+                player.dy = 0;
+            }
+
+            // Draw player
+            ctx.fillStyle = "blue";
+            ctx.fillRect(player.x, player.y, player.width, player.height);
+
+            // Obstacles
+            if (Math.random() < 0.02) {
+                obstacles.push({ x: canvas.width, y: 150, width: 20, height: 20 });
+            }
+            obstacles = obstacles.map(obstacle => ({ ...obstacle, x: obstacle.x - 5 }));
+            obstacles = obstacles.filter(obstacle => obstacle.x + obstacle.width > 0);
+
+            obstacles.forEach(obstacle => {
+                ctx.fillStyle = "red";
+                ctx.fillRect(obstacle.x, obstacle.y, obstacle.width, obstacle.height);
+
+                // Collision detection
+                if (
+                    player.x < obstacle.x + obstacle.width &&
+                    player.x + player.width > obstacle.x &&
+                    player.y < obstacle.y + obstacle.height &&
+                    player.y + player.height > obstacle.y
+                ) {
+                    setRunning(false);
+                }
+            });
+
+            // Score
+            score++;
+            ctx.fillStyle = "black";
+            ctx.fillText("Score: " + score, 10, 20);
+
+            requestAnimationFrame(update);
+        }
+
+        update();
+    }, [running]);
+
+    function jump() {
+        if (player.y >= 150) {
+            player.dy = -10;
+        }
+    }
+
+    return (
+        <div className="flex flex-col items-center">
+            <canvas ref={canvasRef} className="border" onClick={jump}></canvas>
+            {!running && <button onClick={() => window.location.reload()} className="mt-4 bg-blue-500 text-white px-4 py-2 rounded">Restart</button>}
+        </div>
+    );
+}
diff --git a/secret/endlessRunner/styles.css b/secret/endlessRunner/styles.css
index e69de29..b8850fc 100644
--- a/secret/endlessRunner/styles.css
+++ b/secret/endlessRunner/styles.css
@@ -0,0 +1,34 @@
+body {
+  margin: 0;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+  height: 100vh;
+  background-color: #f4f4f4;
+}
+
+.game-container {
+  position: relative;
+  text-align: center;
+}
+
+canvas {
+  border: 2px solid black;
+  background-color: white;
+  display: block;
+}
+
+#restartBtn {
+  margin-top: 10px;
+  padding: 10px 20px;
+  font-size: 16px;
+  background-color: #007bff;
+  color: white;
+  border: none;
+  cursor: pointer;
+  display: none;
+}
+
+#restartBtn:hover {
+  background-color: #0056b3;
+}
diff --git a/secret/guessMyNumber/index.html b/secret/guessMyNumber/index.html
index 2453f5c..4e88eaa 100644
--- a/secret/guessMyNumber/index.html
+++ b/secret/guessMyNumber/index.html
@@ -5,6 +5,24 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>Guess My Number</title>
     <link rel="stylesheet" href="styles.css" />
+    <link
+      rel="apple-touch-icon"
+      sizes="180x180"
+      href="../../favicon_io/apple-touch-icon.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="32x32"
+      href="../../favicon_io/favicon-32x32.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="16x16"
+      href="../../favicon_io/favicon-16x16.png"
+    />
+    <link rel="manifest" href="../../favicon_io/site.webmanifest" />
   </head>
   <body>
     <div class="gameboy">
diff --git a/secret/index.html b/secret/index.html
index 110c75b..dc45d69 100644
--- a/secret/index.html
+++ b/secret/index.html
@@ -5,6 +5,24 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>Secret Game Collection</title>
     <link rel="stylesheet" href="styles.css" />
+    <link
+      rel="apple-touch-icon"
+      sizes="180x180"
+      href="../favicon_io/apple-touch-icon.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="32x32"
+      href="../favicon_io/favicon-32x32.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="16x16"
+      href="../favicon_io/favicon-16x16.png"
+    />
+    <link rel="manifest" href="../favicon_io/site.webmanifest" />
   </head>
   <body>
     <header>
diff --git a/secret/mineSweeper/index.html b/secret/mineSweeper/index.html
index eabf508..5794679 100644
--- a/secret/mineSweeper/index.html
+++ b/secret/mineSweeper/index.html
@@ -1,30 +1,60 @@
 <!DOCTYPE html>
 <html lang="en">
+  <head>
+    <meta charset="UTF-8" />
+    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+    <title>Minesweeper</title>
+    <link rel="stylesheet" href="styles.css" />
+    <link
+      rel="apple-touch-icon"
+      sizes="180x180"
+      href="../../favicon_io/apple-touch-icon.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="32x32"
+      href="../../favicon_io/favicon-32x32.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="16x16"
+      href="../../favicon_io/favicon-16x16.png"
+    />
+    <link rel="manifest" href="../../favicon_io/site.webmanifest" />
+  </head>
 
-<head>
-  <meta charset="UTF-8" />
-  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-  <title>Minesweeper</title>
-  <link rel="stylesheet" href="styles.css" />
-</head>
+  <body>
+    <div id="settings">
+      <h1>Minesweeper</h1>
+      <label for="gridSize">Grid Size:</label>
+      <input
+        type="number"
+        id="gridSize"
+        min="6"
+        max="25"
+        value="9"
+        aria-label="Grid Size"
+      />
 
-<body>
-  <div id="settings">
-    <h1>Minesweeper</h1>
-    <label for="gridSize">Grid Size:</label>
-    <input type="number" id="gridSize" min="6" max="25" value="9" aria-label="Grid Size" />
+      <label for="bombs">Number of Bombs:</label>
+      <input
+        type="number"
+        id="bombs"
+        min="1"
+        max="300"
+        value="9"
+        aria-label="Number of Bombs"
+      />
 
-    <label for="bombs">Number of Bombs:</label>
-    <input type="number" id="bombs" min="1" max="300" value="9" aria-label="Number of Bombs" />
+      <button id="startGame">Start Game</button>
+    </div>
 
-    <button id="startGame">Start Game</button>
-  </div>
+    <div class="container">
+      <canvas id="game"></canvas>
+    </div>
 
-  <div class="container">
-    <canvas id="game"></canvas>
-  </div>
-
-  <script src="script.js"></script>
-</body>
-
-</html>
\ No newline at end of file
+    <script src="script.js"></script>
+  </body>
+</html>
diff --git a/secret/snake/index.html b/secret/snake/index.html
index 47205b4..183027f 100644
--- a/secret/snake/index.html
+++ b/secret/snake/index.html
@@ -5,6 +5,24 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>Snake - Game</title>
     <link rel="stylesheet" href="styles.css" />
+    <link
+      rel="apple-touch-icon"
+      sizes="180x180"
+      href="../../favicon_io/apple-touch-icon.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="32x32"
+      href="../../favicon_io/favicon-32x32.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="16x16"
+      href="../../favicon_io/favicon-16x16.png"
+    />
+    <link rel="manifest" href="../../favicon_io/site.webmanifest" />
   </head>
   <body>
     <div class="gameboy">
diff --git a/webGames/index.html b/webGames/index.html
index 320999d..7f1a0bf 100644
--- a/webGames/index.html
+++ b/webGames/index.html
@@ -5,6 +5,24 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     <title>Game Collection</title>
     <link rel="stylesheet" href="styles.css" />
+    <link
+      rel="apple-touch-icon"
+      sizes="180x180"
+      href="../favicon_io/apple-touch-icon.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="32x32"
+      href="../favicon_io/favicon-32x32.png"
+    />
+    <link
+      rel="icon"
+      type="image/png"
+      sizes="16x16"
+      href="../favicon_io/favicon-16x16.png"
+    />
+    <link rel="manifest" href="../favicon_io/site.webmanifest" />
   </head>
   <body>
     <header>