diff --git a/src/core/botmodules.rs b/src/core/botmodules.rs
index b03d122..85dc9c0 100644
--- a/src/core/botmodules.rs
+++ b/src/core/botmodules.rs
@@ -116,7 +116,6 @@ pub struct Listener {
 
 impl Listener {
     pub async fn execute(&self, m: BotAR, n: PrivmsgMessage) {
-        // ((*self).exec_body)(m, n).await;
         (self.exec_body)(m, n).await;
     }
 }
@@ -124,8 +123,6 @@ impl Listener {
 #[async_trait]
 impl BotActionTrait for Listener {
     async fn add_to_bot(self, bot: BotInstance) {
-        // println!("Adding action to bot");
-        // Log::trace("Adding action to bot");
         botlog::trace(
             "Adding action to bot",
             Some("BotModules > BotActionTrait > add_to_bot()".to_string()),
@@ -135,9 +132,6 @@ impl BotActionTrait for Listener {
     }
 
     async fn add_to_modmgr(self, modmgr: Arc<ModulesManager>) {
-        // let modmgr = *modmgr.lock().await;
-        // println!("Adding action to module manager");
-        // Log::trace("Adding action to module manager");
         botlog::trace(
             "Adding action to module manager",
             Some("BotModules > BotActionTrait > add_to_bot()".to_string()),
@@ -153,8 +147,6 @@ impl BotActionTrait for Listener {
 #[derive(Debug)]
 pub struct Routine {}
 
-// #[derive(Clone)]
-
 pub struct ModulesManager {
     statusdb: Arc<RwLock<HashMap<ModType, Vec<ModStatusType>>>>,
     pub botactions: Arc<RwLock<HashMap<ModType, Vec<BotAction>>>>,
@@ -176,35 +168,36 @@ botactions
 
 impl ModulesManager {
     pub async fn init() -> Arc<ModulesManager> {
-        let m = HashMap::new();
-        let act = HashMap::new();
 
         let mgr = ModulesManager {
-            statusdb: Arc::new(RwLock::new(m)),
-            botactions: Arc::new(RwLock::new(act)),
+            statusdb: Arc::new(RwLock::new(HashMap::new())),
+            botactions: Arc::new(RwLock::new(HashMap::new())),
         };
 
         // :: [x] initialize core modules
-
-        // println!("ModulesManager > init() > Adding modules");
         botlog::debug(
             "ModulesManager > init() > Adding modules",
             Some("ModulesManager > init()".to_string()),
             None,
         );
-        let mgra = Arc::new(mgr);
-        crate::core::identity::init(Arc::clone(&mgra)).await;
 
-        crate::modules::init(Arc::clone(&mgra)).await;
 
-        // println!(">> Modules Manager : End of Init");
+        
+        let mgrarc = Arc::new(mgr);
+        
+        // 1. load core modules
+        crate::core::identity::init(Arc::clone(&mgrarc)).await;
+
+        // 2. load custom modules
+        crate::custom::init(Arc::clone(&mgrarc)).await;
+
         botlog::trace(
             ">> Modules Manager : End of Init",
             Some("ModulesManager > init()".to_string()),
             None,
         );
 
-        mgra
+        mgrarc
     }
 
     pub fn modstatus(&self, _: ModType, _: ChType) -> ModStatusType {
@@ -230,7 +223,6 @@ impl ModulesManager {
     }
 
     pub async fn add_botaction(&self, in_module: ModType, in_action: BotAction) {
-        // println!("Add botaction called");
 
         botlog::trace(
             "Add botaction called",
@@ -250,37 +242,17 @@ impl ModulesManager {
           both would be called separately, even if they both have the same or different logic
         */
 
-        // let newlistener = Listener {
-        //     // module : BotModule(String::from("experiments").to_owned()),
-        //     module : in_module.clone(),
-        //     name : String::from("socklistener"),
-        //     help : String::from("This will listen and react to sock randomly"),
-        // };
-
-        // As a Demonstration, the listener's Module is added and Enabled at Instance level
-
         // [x] Before Adding, validate the following :
         //    - If BotAction to Add is a BotCommand , In Module Manager DB (botactions),
         //       Check All Other BotAction Command Names & Aliases to ensure they don't conflict
 
         async fn find_conflict_module(mgr: &ModulesManager, act: &BotAction) -> Option<ModType> {
-            // Some(BotModule(String::from("GambaCore")))
-
-            // match act {
-            //     BotAction::C(c) => {
-            //         Some(BotModule(String::from("GambaCore")))
-            //     },
-            //     BotAction::L(l) => None,
-            //     BotAction::R(r) => None,
-            // }
 
             if let BotAction::C(incmd) = act {
-                // let n = & mgr.botactions;
 
-                let d = mgr.botactions.read().await;
-                let d = &(*d);
-
-                for (module, moduleactions) in d {
+                let actdb = mgr.botactions.read().await;
+                
+                for (module, moduleactions) in &(*actdb) {
                     for modact in moduleactions.iter() {
                         if let BotAction::C(dbcmd) = &modact {
                             // At this point, there is an command incmd and looked up dbcmd
@@ -289,17 +261,14 @@ impl ModulesManager {
 
                             if incmd.command.to_lowercase() == dbcmd.command.to_lowercase() {
                                 // Returning State - with the identified module
-                                // return Some((module.clone(),BotAction::C(*dbcmd.clone())));
-                                // return Some(incmd); // for some reason I keep getting issues
-                                //return Some(BotModule(String::from("GambaCore"))); // works
                                 return Some(module.clone()); // works
-                                                             // return Some(dbcmd.clone());
+                                
                             }
 
                             for a in &dbcmd.alias {
                                 if incmd.command.to_lowercase() == a.to_lowercase() {
                                     // Returning State - with the identified module
-                                    // return Some((module.clone(),BotAction::C(dbcmd)));
+                                    
                                     return Some(module.clone()); // works
                                 }
                             }
@@ -309,14 +278,14 @@ impl ModulesManager {
                             for inalias in &incmd.alias {
                                 if inalias.to_lowercase() == dbcmd.command.to_lowercase() {
                                     // Returning State - with the identified module
-                                    // return Some((module.clone(),BotAction::C(dbcmd)));
+                                    
                                     return Some(module.clone()); // works
                                 }
 
                                 for a in &dbcmd.alias {
                                     if inalias.to_lowercase() == a.to_lowercase() {
                                         // Returning State - with the identified module
-                                        // return Some((module.clone(),BotAction::C(dbcmd)));
+                                        
                                         return Some(module.clone()); // works
                                     }
                                 }
@@ -324,28 +293,12 @@ impl ModulesManager {
                         }
                     }
                 }
-
-                // return Some(BotModule(String::from("GambaCore")))
             }
 
             // for all other scenarios (e.g., Listener, Routine), find no conflicts
             None
         }
 
-        // if let probmod = find_conflict_module(&self, &in_action) {
-        //     // () // return because there was a conflict?
-        //     panic!("ERROR: Could not add {:?} ; there was a conflict with existing module {:?}", in_action , probmod );
-        // }
-        // match find_conflict_module(&self, &in_action).await {
-        // match find_conflict_module(self, &in_action).await {
-        //     // Some(c) => panic!("ERROR: Could not add {:?} ; there was a conflict with existing module {:?}", in_action , c ),
-        //     Some(c) => panic!(
-        //         "ERROR: Could not add module; there was a conflict with existing module {:?}",
-        //         c
-        //     ),
-        //     None => (),
-        // }
-
         if let Some(c) = find_conflict_module(self, &in_action).await {
             panic!(
                 "ERROR: Could not add module; there was a conflict with existing module {:?}",
@@ -355,7 +308,6 @@ impl ModulesManager {
 
         let mut dbt = self.statusdb.write().await;
         let statusvector = dbt
-            // .entry(BotModule(String::from("experiments")))
             .entry(in_module.clone())
             .or_insert(Vec::new());
 
@@ -363,22 +315,13 @@ impl ModulesManager {
 
         let mut a = self.botactions.write().await;
         let modactions = a
-            //.entry( BotModule(String::from("experiments")))
             .entry(in_module.clone())
             .or_insert(Vec::new());
 
-        // modactions.push(BotAction::L(newlistener));
         modactions.push(in_action);
 
-        // println!(">> Modules Manager : Called Add bot Action");
         botlog::trace(
-            ">> Modules Manager : Called Add bot Action",
-            Some("ModulesManager > init()".to_string()),
-            None,
-        );
-        // println!("add_botaction - botactions size : {}",modactions.len());
-        botlog::trace(
-            &format!("add_botaction - botactions size : {}", modactions.len()),
+            format!("Modules Manager> add_botaction called - botactions size : {}", modactions.len()).as_str(),
             Some("ModulesManager > init()".to_string()),
             None,
         );
diff --git a/src/modules.rs b/src/custom.rs
similarity index 100%
rename from src/modules.rs
rename to src/custom.rs
diff --git a/src/modules/experiments.rs b/src/custom/experiments.rs
similarity index 100%
rename from src/modules/experiments.rs
rename to src/custom/experiments.rs
diff --git a/src/lib.rs b/src/lib.rs
index 650ed26..c5ba775 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,2 +1,2 @@
 pub mod core;
-pub mod modules;
+pub mod custom;