diff --git a/src/core/botinstance.rs b/src/core/botinstance.rs
index 19596bf..0ec8541 100644
--- a/src/core/botinstance.rs
+++ b/src/core/botinstance.rs
@@ -222,7 +222,7 @@ impl BotInstance
 
             while let Some(message) = self.incoming_messages.recv().await {
                 // Below can be used to debug if I want to capture all messages
-                //println!("Received message: {:?}", message);
+                println!("Received message: {:?}", message);
     
                 match message {
                     ServerMessage::Notice(msg) => {
diff --git a/src/core/botmodules.rs b/src/core/botmodules.rs
index b06858a..ae50cb7 100644
--- a/src/core/botmodules.rs
+++ b/src/core/botmodules.rs
@@ -3,6 +3,8 @@ use std::error::Error;
 
 use std::collections::HashMap;
 
+use crate::core::identity;
+
 
 /*
 
@@ -89,6 +91,7 @@ pub struct BotCommand {
     // bot_prefix : char, // although should be global?
     pub exec_body : bot_actions::actions_util::ExecBody,
     pub help : String,
+    pub required_roles : Vec<identity::UserRole>,
 }
 
 impl BotCommand
diff --git a/src/core/identity.rs b/src/core/identity.rs
index eca2243..3ad3b68 100644
--- a/src/core/identity.rs
+++ b/src/core/identity.rs
@@ -1,12 +1,53 @@
 
 use std::collections::HashMap;
 
+
+use crate::core::botmodules::{ModulesManager,Listener,BotModule,BotActionTrait, BotCommand};
+use crate::core::botmodules::bot_actions::actions_util;
+
+use crate::core::botinstance::{self};
+use twitch_irc::message::PrivmsgMessage;
+
 fn adminvector() -> Vec<String> {
     vec![String::from("ModulatingForce")]
 }
 
 
-enum userRole {
+pub fn init(mgr:&mut ModulesManager)
+{
+
+    BotCommand {
+        module : BotModule(String::from("identity")),
+        command : String::from("promote"), // command call name
+        alias : vec![], // String of alternative names
+        exec_body : actions_util::asyncbox(cmd_promote) ,
+        help : String::from("promote"),
+        required_roles : vec![],
+    }.add_to_modmgr(mgr);
+
+    async fn cmd_promote(mut _chat:botinstance::Chat,_msg:PrivmsgMessage) {
+        //println!("(#{}) {}: {}", msg.channel_login, msg.sender.name, msg.message_text);
+    }
+
+    BotCommand {
+        module : BotModule(String::from("identity")),
+        command : String::from("demote"), // command call name
+        alias : vec![], // String of alternative names
+        exec_body : actions_util::asyncbox(cmd_demote) ,
+        help : String::from("demote"),
+        required_roles : vec![],
+    }.add_to_modmgr(mgr);
+
+
+    async fn cmd_demote(mut _chat:botinstance::Chat,_msg:PrivmsgMessage) {
+
+    }
+
+
+}
+
+
+pub enum UserRole {
 	Chatter,
 	Mod(String), // String specifies Channel
 	SupMod(String), // String specifies Channel
@@ -16,7 +57,7 @@ enum userRole {
 
 
 pub struct IdentityManager {
-    specialRolesUsers : HashMap<String,Vec<userRole>>,
+    special_roles_users : HashMap<String,Vec<UserRole>>,
 } 
 
 
@@ -25,11 +66,11 @@ impl IdentityManager {
     pub fn init() -> IdentityManager {
         let mut a = HashMap::new();
         for admn in adminvector() {
-            a.insert(admn.to_lowercase(),vec![userRole::BotAdmin]);
+            a.insert(admn.to_lowercase(),vec![UserRole::BotAdmin]);
         };
 
         IdentityManager {
-            specialRolesUsers : a,
+            special_roles_users : a,
         }
     }
 }
diff --git a/src/modules/experiments.rs b/src/modules/experiments.rs
index 2d761d3..79cd388 100644
--- a/src/modules/experiments.rs
+++ b/src/modules/experiments.rs
@@ -30,6 +30,7 @@ pub fn init(mgr:&mut ModulesManager)
         alias : vec![String::from("tester1"),String::from("testy1")], // String of alternative names
         exec_body : actions_util::asyncbox(testy) ,
         help : String::from("DUPCMD4 tester"),
+        required_roles : vec![],
     }.add_to_modmgr(mgr);
 
 
@@ -39,6 +40,7 @@ pub fn init(mgr:&mut ModulesManager)
         alias : vec![String::from("tester2"),String::from("testy2")], // String of alternative names
         exec_body : actions_util::asyncbox(testy) ,
         help : String::from("DUPCMD4 tester"),
+        required_roles : vec![],
     }.add_to_modmgr(mgr);