diff --git a/day-4/src/main.rs b/day-4/src/main.rs
index 4135ade..20778f0 100644
--- a/day-4/src/main.rs
+++ b/day-4/src/main.rs
@@ -17,7 +17,9 @@ fn parse_passports(input: &str) -> Result<Vec<HashMap<&str, &str>>, &str> {
                 .trim()
                 .split(|c| c == ' ' || c == '\n')
                 .map(|field| {
-                    let item = field.split_at(3);
+                    let split = field.find(':').ok_or("Invalid passport value")?;
+                    let item = field.split_at(split);
+
                     let key = item.0;
                     let value = item
                         .1