diff --git a/src/database/guild.rs b/src/database/guild.rs
index 5414e4415857f75b496f5a63553d204e025b7e83..0939d1bde1930968725bdbe2b559b80cefad9f76 100644
--- a/src/database/guild.rs
+++ b/src/database/guild.rs
@@ -1,20 +1,9 @@
 use bson::{bson, doc};
 use serde::{Deserialize, Serialize};
 
-use super::get_collection;
+use super::{get_collection, MemberPermissions};
 use mongodb::options::FindOneOptions;
 
-bitfield! {
-    pub struct MemberPermissions(MSB0 [u8]);
-    u8;
-    pub get_access, set_access: 7;
-    pub get_create_invite, set_create_invite: 6;
-    pub get_kick_members, set_kick_members: 5;
-    pub get_ban_members, set_ban_members: 4;
-    pub get_read_messages, set_read_messages: 3;
-    pub get_send_messages, set_send_messages: 2;
-}
-
 pub fn find_member_permissions<C: Into<Option<String>>>(
     id: String,
     guild: String,
diff --git a/src/database/mod.rs b/src/database/mod.rs
index 6e9222f188bdfd4d8f01985a018b16a02ac7ff66..91ad67a19803e220dc6be9fb3849179c3f5000bd 100644
--- a/src/database/mod.rs
+++ b/src/database/mod.rs
@@ -24,7 +24,10 @@ pub fn get_collection(collection: &str) -> Collection {
     get_db().collection(collection)
 }
 
+pub mod permissions;
 pub mod channel;
 pub mod guild;
 pub mod message;
 pub mod user;
+
+pub use permissions::*;
diff --git a/src/database/permissions.rs b/src/database/permissions.rs
new file mode 100644
index 0000000000000000000000000000000000000000..d915cf6237818ba5fbe612f521edcb79ae05de95
--- /dev/null
+++ b/src/database/permissions.rs
@@ -0,0 +1,14 @@
+bitfield! {
+    pub struct MemberPermissions(MSB0 [u8]);
+    u8;
+    pub get_access, set_access: 7;
+    pub get_create_invite, set_create_invite: 6;
+    pub get_kick_members, set_kick_members: 5;
+    pub get_ban_members, set_ban_members: 4;
+    pub get_read_messages, set_read_messages: 3;
+    pub get_send_messages, set_send_messages: 2;
+}
+
+//struct PermissionCalculator {
+    //channel: Option<>,
+//}
\ No newline at end of file
diff --git a/src/routes/channel.rs b/src/routes/channel.rs
index 1ed1adbe5bb35d04d1e0d90f56ad2f789e95cd7d..cd53de2fb44f5a6efcbbc110bba865c4dde7f1a8 100644
--- a/src/routes/channel.rs
+++ b/src/routes/channel.rs
@@ -5,7 +5,7 @@ use crate::websocket;
 use bson::{bson, doc, from_bson, Bson::UtcDatetime};
 use chrono::prelude::*;
 use num_enum::TryFromPrimitive;
-use rocket_contrib::json::{Json, JsonValue};
+use rocket_contrib::json::Json;
 use serde::{Deserialize, Serialize};
 use ulid::Ulid;
 
diff --git a/src/websocket/mod.rs b/src/websocket/mod.rs
index f162361f8c474a0c3eece29ced2a88ba5c10b9bf..709c593f54655b58075892ee5d216b1bbe640c95 100644
--- a/src/websocket/mod.rs
+++ b/src/websocket/mod.rs
@@ -172,7 +172,7 @@ pub fn send_message(id: String, message: String) -> std::result::Result<(), ()>
             let arr = map.get(&id).unwrap();
 
             for item in arr {
-                if let Err(_) = item.out.send(message.clone()) {
+                if item.out.send(message.clone()).is_err() {
                     return Err(());
                 }
             }