diff --git a/src/main.rs b/src/main.rs
index 0323fa39f4096276fde975b74e2b21eb3ed30f66..cb27c05b4619b8334ea5d8bfb41bf0c62586979a 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -4,6 +4,7 @@ extern crate lazy_static;
 #[macro_use]
 extern crate log;
 extern crate simplelog;
+#[macro_use] extern crate guard;
 use simplelog::*;
 use std::fs::{read_to_string, File};
 
diff --git a/src/token_management.rs b/src/token_management.rs
index 5bf1d247fde97a8e2a07fcf6b7c566ae2bdf6934..d32a067c08e90d47161acc3c24947a9005467e7f 100644
--- a/src/token_management.rs
+++ b/src/token_management.rs
@@ -4,7 +4,6 @@ use openssl::symm::{decrypt, encrypt, Cipher};
 use rand::Rng;
 use serenity::model::user::User;
 use std::str;
-#[macro_use] extern crate guard;
 
 lazy_static! {
     static ref KEY: [u8; 32] = rand::thread_rng().gen::<[u8; 32]>();
@@ -21,15 +20,15 @@ fn text_decrypt(ciphertext: &str) -> Option<String> {
     let iv: &[u8; 16] = &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
     guard!(let Ok(cipher_vec) = base64::decode(ciphertext) else {
         warn!("Unable to decode base64 text");
-        None
+        return None
     });
     guard!(let Ok(decrypted_vec) = decrypt(*CIPHER, &*KEY, Some(iv), &cipher_vec) else {
         warn!("Text decryption failed");
-        None
+        return None
     });
     guard!(let Ok(decrypted_token) = str::from_utf8(decrypted_vec.as_slice()) else {
         warn!("Invalid utf8 in text");
-        None
+        return None
     });
     Some(decrypted_token.to_owned())
 }
@@ -61,7 +60,7 @@ impl std::fmt::Display for TokenError {
 
 pub fn parse_token(discord_user: &User, encrypted_token: &str) -> Result<String, TokenError> {
     guard!(let Some(token) = text_decrypt(encrypted_token) else {
-        Err(TokenError::TokenInvalid)
+        return Err(TokenError::TokenInvalid)
     });
     let token_components: Vec<_> = token.splitn(3, ',').collect();
     info!(