diff --git a/Cargo.lock b/Cargo.lock
index 863a1ad..ee53bf0 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -56,6 +56,10 @@ dependencies = [
 name = "day09"
 version = "0.1.0"
 
+[[package]]
+name = "day10"
+version = "0.1.0"
+
 [[package]]
 name = "memchr"
 version = "2.7.4"
diff --git a/Cargo.toml b/Cargo.toml
index e2c7c6d..5785a84 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -1,6 +1,6 @@
 [workspace]
 resolver = "2"
-members = ["day01", "day02", "day03", "day04", "day05", "day06", "day07", "day08", "day09"]
+members = ["day01", "day02", "day03", "day04", "day05", "day06", "day07", "day08", "day09", "day10"]
 
 [workspace.dependencies]
 winnow = "0.6"
diff --git a/day10/Cargo.toml b/day10/Cargo.toml
new file mode 100644
index 0000000..c52cc13
--- /dev/null
+++ b/day10/Cargo.toml
@@ -0,0 +1,6 @@
+[package]
+name = "day10"
+version = "0.1.0"
+edition = "2024"
+
+[dependencies]
diff --git a/day10/src/main.rs b/day10/src/main.rs
new file mode 100644
index 0000000..f9a374b
--- /dev/null
+++ b/day10/src/main.rs
@@ -0,0 +1,13 @@
+fn main() {
+    println!("Hello, world!");
+}
+
+struct Grid {
+    rows: Vec<Vec<usize>>,
+}
+
+impl Grid {
+    fn new(input: &str) -> Self {
+        todo!()
+    }
+}