diff --git a/src/bin/list_recipes.rs b/src/bin/list_recipes.rs
index da3171e1e4e79a6d4cb3e85846c64f07a8e9b06c..759dbc9ec3b992064fbd472dc95ac2e18f044876 100644
--- a/src/bin/list_recipes.rs
+++ b/src/bin/list_recipes.rs
@@ -4,16 +4,21 @@ use std::process::exit;
 // use clap::Parser;
 
 fn main() {
-
     let result = list_recipes( Path::new("recipes"));
-    if result.is_err() {
-        eprintln!("{}", result.err().unwrap());
-        exit(2);
-    } else if result.as_ref().unwrap().is_empty() {
-        eprintln!("recipes not found");
-        exit(1);
-    } else {
-        result.unwrap().iter().for_each(|recipe| println!("{}", recipe));
-        exit(0);
+
+    match result {
+        Ok(result) => {
+            if result.is_empty() {
+                eprintln!("recipes not found");
+                exit(1);
+            } else {
+                result.iter().for_each(|recipe| println!("{recipe}"));
+                exit(0);
+            }
+        }
+        Err(error) => {
+            eprintln!("{error}");
+            exit(2);
+        }
     }
 }