diff --git a/src/voting.rs b/src/voting.rs
index b5ea473a2e78bccb2358795f8887da9c3d7a95fa..b08d8a7112a76628e1fba9357207ab5d236b9902 100644
--- a/src/voting.rs
+++ b/src/voting.rs
@@ -56,25 +56,23 @@ impl Commands {
         );
     }
     pub fn cowsay(ctx: Context, msg: Message, content: &str) {
-        let output;
-        if !content.trim().is_empty() {
+        let output = if !content.trim().is_empty() {
             let mut text = content.to_owned();
             text.escape_default();
             // Guess what buddy! You definitely are passing a string to cowsay
             text.insert(0, '\'');
             text.insert(text.len(), '\'');
-            output = std::process::Command::new("cowsay")
+            std::process::Command::new("cowsay")
                 .arg(text)
                 .output()
-                // btw, if we can't execute cowsay we crash
-                .expect("failed to execute cowsay");
+                .expect("failed to execute cowsay")
         } else {
-            output = std::process::Command::new("sh")
+            std::process::Command::new("sh")
                 .arg("-c")
                 .arg("sh -c fortune | cowsay -f \"/usr/share/cowsay/cows/$(echo 'www\nhellokitty\nbud-frogs\nkoala\nsuse\nthree-eyes\npony-smaller\nsheep\nvader\ncower\nmoofasa\nelephant\nflaming-sheep\nskeleton\nsnowman\ntux\napt\nmoose' | shuf -n 1).cow\"")
                 .output()
-                .expect("failed to execute fortune/cowsay");
-        }
+                .expect("failed to execute fortune/cowsay")
+        };
         let mut message = MessageBuilder::new();
         message.push_codeblock(
             String::from_utf8(output.stdout).expect("unable to parse stdout to String"),