diff --git a/ryujinx_build.ps1 b/ryujinx_build.ps1
index 24498c31..1d4702b5 100644
--- a/ryujinx_build.ps1
+++ b/ryujinx_build.ps1
@@ -1,4 +1,5 @@
 $IP=(Test-Connection -ComputerName (hostname) -Count 1  | Select -ExpandProperty IPV4Address).IPAddressToString
 cargo skyline build --release --features layout_arc_from_file
 Copy-Item target/aarch64-skyline-switch/release/libtraining_modpack.nro 'C:\Users\Jdsam\AppData\Roaming\Ryujinx\mods\contents\01006A800016E000\romfs\skyline\plugins\'
-cargo skyline listen --ip=$IP
\ No newline at end of file
+cargo skyline listen --ip=$IP
+# C:\Users\Jdsam\Documents\Games\Emulators\ryujinx-1.1.299-win_x64\publish\BLAH.exe C:\Users\Jdsam\Documents\Games\Emulators\ryujinx-1.1.299-win_x64\publish\Ryujinx.exe "C:\Users\Jdsam\Documents\Games\SmashRoms\UltimateXCI\ultimate.xci"
\ No newline at end of file
diff --git a/src/common/button_config.rs b/src/common/button_config.rs
index 0b78d4df..82a4b0d9 100644
--- a/src/common/button_config.rs
+++ b/src/common/button_config.rs
@@ -1,9 +1,10 @@
-use lazy_static::lazy_static;
-use serde::Deserialize;
-use smash::app::lua_bind::ControlModule;
 use std::collections::HashMap;
 use std::fs;
+
+use lazy_static::lazy_static;
 use log::info;
+use serde::Deserialize;
+use smash::app::lua_bind::ControlModule;
 use strum::IntoEnumIterator;
 use strum_macros::EnumIter;
 use toml;
@@ -53,7 +54,7 @@ pub enum ButtonCombo {
     SaveState,
     LoadState,
     PrevSaveStateSlot,
-    NextSaveStateSlot
+    NextSaveStateSlot,
 }
 
 #[derive(Deserialize, Default)]
@@ -68,7 +69,7 @@ struct BtnComboConfig {
     save_state: BtnList,
     load_state: BtnList,
     previous_save_state_slot: BtnList,
-    next_save_state_slot: BtnList
+    next_save_state_slot: BtnList,
 }
 
 #[derive(Deserialize)]
@@ -210,9 +211,9 @@ fn combo_passes(
             .map(|hold| *BUTTON_MAPPING.get(&*hold.to_uppercase()).unwrap())
             .all(|hold| ControlModule::check_button_on(module_accessor, hold))
             && press
-                .iter()
-                .map(|press| *BUTTON_MAPPING.get(&*press.to_uppercase()).unwrap())
-                .all(|press| ControlModule::check_button_trigger(module_accessor, press));
+            .iter()
+            .map(|press| *BUTTON_MAPPING.get(&*press.to_uppercase()).unwrap())
+            .all(|press| ControlModule::check_button_trigger(module_accessor, press));
 
         this_combo_passes
     }
@@ -220,7 +221,7 @@ fn combo_passes(
 
 pub fn combo_passes_exclusive(
     module_accessor: *mut smash::app::BattleObjectModuleAccessor,
-    combo: ButtonCombo
+    combo: ButtonCombo,
 ) -> bool {
     let other_combo_passes = ButtonCombo::iter()
         .filter(|other_combo| *other_combo != combo)
diff --git a/src/common/consts.rs b/src/common/consts.rs
index 8c33c178..08e83cd3 100644
--- a/src/common/consts.rs
+++ b/src/common/consts.rs
@@ -1 +1,2 @@
 pub use training_mod_consts::*;
+
diff --git a/src/common/dev_config.rs b/src/common/dev_config.rs
index 3f904e54..96c091c9 100644
--- a/src/common/dev_config.rs
+++ b/src/common/dev_config.rs
@@ -1,11 +1,12 @@
+use std::fs;
+
 use lazy_static::lazy_static;
 use parking_lot::Mutex;
 use serde::Deserialize;
 use skyline::nn::hid::NpadGcState;
-use crate::logging::info;
-use std::fs;
 use toml;
 
+use crate::logging::info;
 
 /// Hot-reloadable configs for quicker development
 ///
@@ -29,8 +30,7 @@ use toml;
 /// quit_menu_text.as_textbox().set_text_string(&dev_config.quit_menu_title);
 /// ```
 #[derive(Deserialize, Default)]
-pub struct DevConfig {
-}
+pub struct DevConfig {}
 
 pub unsafe fn config() -> &'static DevConfig {
     &*DEV_CONFIG.data_ptr()
@@ -48,7 +48,7 @@ impl DevConfig {
             let dev_config_str = fs::read_to_string(dev_path).unwrap_or_else(|_| panic!("Could not read {}", dev_path));
             return toml::from_str(&dev_config_str).expect("Could not parse dev config");
         }
-        
+
         DevConfig::default()
     }
 }
diff --git a/src/common/events.rs b/src/common/events.rs
index 568af715..f0aca32a 100644
--- a/src/common/events.rs
+++ b/src/common/events.rs
@@ -1,9 +1,10 @@
+use std::convert::TryInto;
+use std::time::{SystemTime, UNIX_EPOCH};
+
 use once_cell::sync::OnceCell;
 use serde::{Deserialize, Serialize};
 use skyline::libc::c_void;
 use skyline::nn::{account, oe, time};
-use std::convert::TryInto;
-use std::time::{SystemTime, UNIX_EPOCH};
 
 use crate::common::release::CURRENT_VERSION;
 
@@ -183,3 +184,25 @@ fn smash_version() -> String {
             .into_owned()
     }
 }
+
+pub fn events_loop() {
+    loop {
+        std::thread::sleep(std::time::Duration::from_secs(10));
+        unsafe {
+            while let Some(event) = EVENT_QUEUE.pop() {
+                let host = "https://my-project-1511972643240-default-rtdb.firebaseio.com";
+                let path = format!(
+                    "/event/{}/device/{}/{}.json",
+                    event.event_name, event.device_id, event.event_time
+                );
+
+                let url = format!("{host}{path}");
+                minreq::post(url)
+                    .with_json(&event)
+                    .expect("Failed to send info to firebase")
+                    .send()
+                    .ok();
+            }
+        }
+    }
+}
diff --git a/src/common/menu.rs b/src/common/menu.rs
index 55a91cc0..9ebbc3c9 100644
--- a/src/common/menu.rs
+++ b/src/common/menu.rs
@@ -1,16 +1,21 @@
 use std::fs;
+
+use lazy_static::lazy_static;
+use parking_lot::Mutex;
+use skyline::nn::hid::{GetNpadStyleSet, NpadGcState};
+use training_mod_consts::MenuJsonStruct;
+
+use training_mod_tui::AppPage;
+
 use crate::common::*;
 use crate::events::{Event, EVENT_QUEUE};
 use crate::logging::*;
 
-use skyline::nn::hid::{GetNpadStyleSet, NpadGcState};
-use training_mod_consts::MenuJsonStruct;
-
 // This is a special frame counter that will tick on draw()
 // We'll count how long the menu has been open
-pub static mut FRAME_COUNTER : u32 = 0;
-const MENU_INPUT_WAIT_FRAMES : u32 = 30;
-const MENU_CLOSE_WAIT_FRAMES : u32 = 60;
+pub static mut FRAME_COUNTER: u32 = 0;
+const MENU_INPUT_WAIT_FRAMES: u32 = 30;
+const MENU_CLOSE_WAIT_FRAMES: u32 = 60;
 pub static mut QUICK_MENU_ACTIVE: bool = false;
 
 pub unsafe fn menu_condition(module_accessor: &mut app::BattleObjectModuleAccessor) -> bool {
@@ -33,8 +38,12 @@ pub fn load_from_file() {
             }
         } else {
             warn!("Previous menu found but is invalid. Deleting...");
-            fs::remove_file(menu_conf_path)
-                .unwrap_or_else(|_| panic!("{} has invalid schema but could not be deleted!", menu_conf_path));
+            fs::remove_file(menu_conf_path).unwrap_or_else(|_| {
+                panic!(
+                    "{} has invalid schema but could not be deleted!",
+                    menu_conf_path
+                )
+            });
         }
     } else {
         info!("No previous menu file found.");
@@ -48,7 +57,7 @@ pub unsafe fn set_menu_from_json(message: &str) {
         // Includes both MENU and DEFAULTS_MENU
         MENU = message_json.menu;
         DEFAULTS_MENU = message_json.defaults_menu;
-        std::fs::write(
+        fs::write(
             MENU_CONF_PATH,
             serde_json::to_string_pretty(&message_json).unwrap(),
         )
@@ -57,7 +66,7 @@ pub unsafe fn set_menu_from_json(message: &str) {
         skyline::error::show_error(
             0x70,
             "Could not parse the menu response!\nPlease send a screenshot of the details page to the developers.\n\0",
-            &format!("{message:#?}\0")
+            &format!("{message:#?}\0"),
         );
     };
 }
@@ -227,17 +236,15 @@ pub fn handle_get_npad_state(state: *mut NpadGcState, _controller_id: *const u32
     }
 }
 
-use lazy_static::lazy_static;
-use parking_lot::Mutex;
-use training_mod_tui::AppPage;
-
 lazy_static! {
-    pub static ref QUICK_MENU_APP: Mutex<training_mod_tui::App<'static>> =
-        Mutex::new(training_mod_tui::App::new(
-            unsafe { ui_menu(MENU) },
-            unsafe { (ui_menu(DEFAULTS_MENU), serde_json::to_string(&DEFAULTS_MENU).unwrap())}
+    pub static ref QUICK_MENU_APP: Mutex<training_mod_tui::App<'static>> = Mutex::new(
+        training_mod_tui::App::new(unsafe { ui_menu(MENU) }, unsafe {
+            (
+                ui_menu(DEFAULTS_MENU),
+                serde_json::to_string(&DEFAULTS_MENU).unwrap(),
             )
-        );
+        })
+    );
 }
 
 pub unsafe fn quick_menu_loop() {
@@ -257,7 +264,8 @@ pub unsafe fn quick_menu_loop() {
             potential_controller_ids.push(0x20);
             if potential_controller_ids
                 .iter()
-                .all(|i| GetNpadStyleSet(i as *const _).flags == 0) {
+                .all(|i| GetNpadStyleSet(i as *const _).flags == 0)
+            {
                 QUICK_MENU_ACTIVE = false;
                 continue;
             }
@@ -324,4 +332,4 @@ pub unsafe fn quick_menu_loop() {
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/src/common/mod.rs b/src/common/mod.rs
index 8ddeb69f..42b62e2d 100644
--- a/src/common/mod.rs
+++ b/src/common/mod.rs
@@ -1,19 +1,20 @@
-pub mod button_config;
-pub mod consts;
-pub mod events;
-pub mod menu;
-pub mod raygun_printer;
-pub mod release;
-pub mod dev_config;
-
-use crate::common::consts::*;
 use smash::app::{self, lua_bind::*};
 use smash::hash40;
 use smash::lib::lua_const::*;
 use smash::lua2cpp::L2CFighterCommon;
 
 pub use crate::common::consts::MENU;
-pub static mut DEFAULTS_MENU: TrainingModpackMenu = crate::common::consts::DEFAULTS_MENU;
+use crate::common::consts::*;
+
+pub mod button_config;
+pub mod consts;
+pub mod dev_config;
+pub mod events;
+pub mod menu;
+pub mod raygun_printer;
+pub mod release;
+
+pub static mut DEFAULTS_MENU: TrainingModpackMenu = consts::DEFAULTS_MENU;
 pub static mut BASE_MENU: TrainingModpackMenu = unsafe { DEFAULTS_MENU };
 pub static mut FIGHTER_MANAGER_ADDR: usize = 0;
 pub static mut ITEM_MANAGER_ADDR: usize = 0;
@@ -99,6 +100,7 @@ pub fn is_in_hitstun(module_accessor: &mut app::BattleObjectModuleAccessor) -> b
     // TODO: Should this be *FIGHTER_STATUS_KIND_DAMAGE..*FIGHTER_STATUS_KIND_DAMAGE_AIR ?
     (*FIGHTER_STATUS_KIND_DAMAGE..*FIGHTER_STATUS_KIND_DAMAGE_FALL).contains(&status_kind)
 }
+
 pub fn is_in_footstool(module_accessor: &mut app::BattleObjectModuleAccessor) -> bool {
     let status_kind = unsafe { StatusModule::status_kind(module_accessor) };
 
diff --git a/src/common/release.rs b/src/common/release.rs
index c35e7655..b5cdc74f 100644
--- a/src/common/release.rs
+++ b/src/common/release.rs
@@ -1,7 +1,9 @@
-use crate::logging::*;
-use skyline_web::DialogOk;
 use std::fs;
 
+use skyline_web::DialogOk;
+
+use crate::logging::*;
+
 pub const CURRENT_VERSION: &str = env!("CARGO_PKG_VERSION");
 const VERSION_FILE_PATH: &str = "sd:/TrainingModpack/version.txt";
 
diff --git a/src/hazard_manager/mod.rs b/src/hazard_manager/mod.rs
index 21972b21..a5643ee8 100644
--- a/src/hazard_manager/mod.rs
+++ b/src/hazard_manager/mod.rs
@@ -1,14 +1,19 @@
 #![allow(dead_code)]
 #![allow(unused_assignments)]
 #![allow(unused_variables)]
-use crate::common::consts::*;
-use crate::logging::*;
+
 use skyline::error::show_error;
 use skyline::hook;
 use skyline::hooks::A64InlineHook;
 use skyline::text_iter::{add_get_imm, adrp_get_imm, Instruction::*, TextIter};
 use smash::app::smashball::is_training_mode;
 
+use HazardState::*;
+use HookState::*;
+
+use crate::common::consts::*;
+use crate::logging::*;
+
 enum HazardState {
     Begin,
     Adrp1,
@@ -24,9 +29,6 @@ enum HookState {
     Ldrsw2,
 }
 
-use HazardState::*;
-use HookState::*;
-
 fn get_hazard_flag_address() -> usize {
     let mut state = HazardState::Begin;
     let mut flag_pos = 0;
@@ -98,7 +100,7 @@ fn mod_handle_hazards() {
     }
 }
 
-unsafe fn validate_hazards_addrs() -> std::result::Result<(), ()> {
+unsafe fn validate_hazards_addrs() -> Result<(), ()> {
     HAZARD_FLAG_ADDRESS = get_hazard_flag_address() as *mut u8;
     LOAD_ADDRESS = get_hazard_hook_address();
 
diff --git a/src/hitbox_visualizer/mod.rs b/src/hitbox_visualizer/mod.rs
index 4150e6e2..ca6e44fc 100644
--- a/src/hitbox_visualizer/mod.rs
+++ b/src/hitbox_visualizer/mod.rs
@@ -1,9 +1,10 @@
-use crate::common::{consts::*, *};
-use crate::logging::*;
 use smash::app::{self, lua_bind::*, sv_animcmd, sv_system};
 use smash::lib::{lua_const::*, L2CAgent, L2CValue};
 use smash::phx::{Hash40, Vector3f};
 
+use crate::common::{consts::*, *};
+use crate::logging::*;
+
 pub const ID_COLORS: &[Vector3f] = &[
     // used to tint the hitbox effects -- make sure that at least one component
     // is equal to 1.0
@@ -107,44 +108,24 @@ pub unsafe fn generate_hitbox_effects(
             z: 0.0,
         };
 
-        if false {
-            // is_fighter(module_accessor) {
-            EffectModule::req_on_joint(
-                module_accessor,
-                Hash40::new("sys_shield"),
-                Hash40::new_raw(bone),
-                &pos,
-                &zeros,
-                size * size_mult,
-                &zeros,
-                &zeros,
-                true,
-                *EFFECT_SUB_ATTRIBUTE_NO_JOINT_SCALE as u32
-                    | *EFFECT_SUB_ATTRIBUTE_FOLLOW as u32
-                    | *EFFECT_SUB_ATTRIBUTE_CONCLUDE_STATUS as u32,
-                0,
-                0,
-            );
-        } else {
-            EffectModule::req_follow(
-                module_accessor,
-                Hash40::new("sys_shield"),
-                Hash40::new_raw(bone),
-                &pos,
-                &zeros,
-                size * size_mult,
-                true,
-                *EFFECT_SUB_ATTRIBUTE_NO_JOINT_SCALE as u32
-                    | *EFFECT_SUB_ATTRIBUTE_FOLLOW as u32
-                    | *EFFECT_SUB_ATTRIBUTE_CONCLUDE_STATUS as u32,
-                0,
-                0,
-                0,
-                0,
-                true,
-                true,
-            );
-        }
+        EffectModule::req_follow(
+            module_accessor,
+            Hash40::new("sys_shield"),
+            Hash40::new_raw(bone),
+            &pos,
+            &zeros,
+            size * size_mult,
+            true,
+            *EFFECT_SUB_ATTRIBUTE_NO_JOINT_SCALE as u32
+                | *EFFECT_SUB_ATTRIBUTE_FOLLOW as u32
+                | *EFFECT_SUB_ATTRIBUTE_CONCLUDE_STATUS as u32,
+            0,
+            0,
+            0,
+            0,
+            true,
+            true,
+        );
 
         // set to hitbox ID color
         EffectModule::set_rgb_partial_last(module_accessor, color.x, color.y, color.z);
diff --git a/src/lib.rs b/src/lib.rs
index e442dc16..dfbaa91f 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -4,17 +4,28 @@
 #![feature(once_cell)]
 #![feature(c_variadic)]
 #![allow(
-    clippy::borrow_interior_mutable_const,
-    clippy::declare_interior_mutable_const,
-    clippy::not_unsafe_ptr_arg_deref,
-    clippy::missing_safety_doc,
-    clippy::wrong_self_convention,
-    clippy::option_map_unit_fn,
-    clippy::fn_null_check,
-    // Look into why for this one
-    clippy::transmute_num_to_bytes
+clippy::borrow_interior_mutable_const,
+clippy::declare_interior_mutable_const,
+clippy::not_unsafe_ptr_arg_deref,
+clippy::missing_safety_doc,
+clippy::wrong_self_convention,
+clippy::option_map_unit_fn,
+clippy::fn_null_check,
+clippy::transmute_num_to_bytes
 )]
 
+use std::fs;
+
+use skyline::libc::mkdir;
+use skyline::nro::{self, NroInfo};
+
+use crate::common::*;
+use crate::common::events::events_loop;
+use crate::events::{Event, EVENT_QUEUE};
+use crate::logging::*;
+use crate::menu::quick_menu_loop;
+use crate::training::ui::notifications::notification;
+
 pub mod common;
 mod hazard_manager;
 mod hitbox_visualizer;
@@ -22,17 +33,6 @@ mod training;
 
 mod logging;
 
-use crate::common::*;
-use crate::events::{Event, EVENT_QUEUE};
-
-use skyline::libc::mkdir;
-use skyline::nro::{self, NroInfo};
-use std::fs;
-
-use crate::logging::*;
-use crate::menu::quick_menu_loop;
-use crate::training::ui::notifications::notification;
-
 fn nro_main(nro: &NroInfo<'_>) {
     if nro.module.isLoaded {
         return;
@@ -105,25 +105,7 @@ pub fn main() {
     menu::load_from_file();
     button_config::load_from_file();
 
-    std::thread::spawn(|| loop {
-        std::thread::sleep(std::time::Duration::from_secs(10));
-        unsafe {
-            while let Some(event) = EVENT_QUEUE.pop() {
-                let host = "https://my-project-1511972643240-default-rtdb.firebaseio.com";
-                let path = format!(
-                    "/event/{}/device/{}/{}.json",
-                    event.event_name, event.device_id, event.event_time
-                );
-
-                let url = format!("{host}{path}");
-                minreq::post(url)
-                    .with_json(&event)
-                    .expect("Failed to send info to firebase")
-                    .send()
-                    .ok();
-            }
-        }
-    });
+    std::thread::spawn(events_loop);
 
     std::thread::spawn(|| unsafe { quick_menu_loop() });
 }
diff --git a/src/training/air_dodge_direction.rs b/src/training/air_dodge_direction.rs
index b77b5b87..029b0e40 100644
--- a/src/training/air_dodge_direction.rs
+++ b/src/training/air_dodge_direction.rs
@@ -1,9 +1,11 @@
+use core::f64::consts::PI;
+
+use smash::app::{self, lua_bind::*};
+use smash::lib::lua_const::*;
+
 use crate::common::consts::*;
 use crate::common::*;
 use crate::training::directional_influence::should_reverse_angle;
-use core::f64::consts::PI;
-use smash::app::{self, lua_bind::*};
-use smash::lib::lua_const::*;
 
 static mut STICK_DIRECTION: Direction = Direction::empty();
 
@@ -39,7 +41,7 @@ unsafe fn get_angle(module_accessor: &mut app::BattleObjectModuleAccessor) -> Op
                 module_accessor,
                 *FIGHTER_KINETIC_ENERGY_ID_DAMAGE,
             )
-                as *mut smash::app::KineticEnergy);
+                as *mut app::KineticEnergy);
             // If we're launched left, reverse stick X
             if launch_speed_x < 0.0 {
                 PI - angle
diff --git a/src/training/attack_angle.rs b/src/training/attack_angle.rs
index e90c49f1..15d39130 100644
--- a/src/training/attack_angle.rs
+++ b/src/training/attack_angle.rs
@@ -1,7 +1,8 @@
-use crate::common::consts::*;
-use crate::common::*;
 use smash::app::{self};
 
+use crate::common::*;
+use crate::common::consts::*;
+
 static mut DIRECTION: AttackAngle = AttackAngle::UP;
 
 pub fn roll_direction() {
diff --git a/src/training/buff.rs b/src/training/buff.rs
index 1700bfda..fff40eac 100644
--- a/src/training/buff.rs
+++ b/src/training/buff.rs
@@ -1,9 +1,10 @@
+use smash::app::{self, lua_bind::*};
+use smash::lib::lua_const::*;
+
 use crate::common::consts::*;
 use crate::is_operation_cpu;
 use crate::training::frame_counter;
 use crate::training::handle_add_limit;
-use smash::app::{self, lua_bind::*};
-use smash::lib::lua_const::*;
 
 static mut BUFF_DELAY_COUNTER: usize = 0;
 
diff --git a/src/training/character_specific/items.rs b/src/training/character_specific/items.rs
index 45db648d..77308c7e 100644
--- a/src/training/character_specific/items.rs
+++ b/src/training/character_specific/items.rs
@@ -1,6 +1,3 @@
-use crate::common::consts::*;
-use crate::common::*;
-use crate::training::mash;
 use smash::app;
 use smash::app::lua_bind::*;
 use smash::app::ItemKind;
@@ -8,6 +5,10 @@ use smash::app::{ArticleOperationTarget, BattleObjectModuleAccessor, Item};
 use smash::cpp::l2c_value::LuaConst;
 use smash::lib::lua_const::*;
 
+use crate::common::consts::*;
+use crate::common::*;
+use crate::training::mash;
+
 pub struct CharItem {
     pub fighter_kind: LuaConst,
     pub item_kind: Option<LuaConst>,
@@ -354,7 +355,7 @@ unsafe fn apply_single_item(player_fighter_kind: i32, item: &CharItem) {
                 let item_ptr = ItemManager::get_active_item(item_mgr, 0);
                 ItemModule::have_item_instance(
                     player_module_accessor,
-                    item_ptr as *mut smash::app::Item,
+                    item_ptr as *mut Item,
                     0,
                     false,
                     false,
@@ -512,9 +513,9 @@ static GAFT_OFFSET: usize = 0x03d40a0;
 
 #[skyline::hook(offset = GAFT_OFFSET)]
 pub unsafe fn handle_generate_article_for_target(
-    article_module_accessor: *mut app::BattleObjectModuleAccessor,
+    article_module_accessor: *mut BattleObjectModuleAccessor,
     int_1: i32,
-    module_accessor: *mut app::BattleObjectModuleAccessor, // this is always 0x0 normally
+    module_accessor: *mut BattleObjectModuleAccessor, // this is always 0x0 normally
     bool_1: bool,
     int_2: i32,
 ) -> u64 {
diff --git a/src/training/character_specific/steve.rs b/src/training/character_specific/steve.rs
index 0f125068..b21e3b07 100644
--- a/src/training/character_specific/steve.rs
+++ b/src/training/character_specific/steve.rs
@@ -1,4 +1,4 @@
-use serde::{Serialize, Deserialize};
+use serde::{Deserialize, Serialize};
 use smash::app::{self, lua_bind::*};
 use smash::lib::lua_const::*;
 
@@ -11,7 +11,8 @@ pub struct SteveState {
     pub mat_gold: i32,
     pub mat_redstone: i32,
     pub mat_diamond: i32,
-    pub sword_mat: char, // is actually FighterPickelMaterialKind, but char is same size and works
+    pub sword_mat: char,
+    // is actually FighterPickelMaterialKind, but char is same size and works
     pub sword_durability: f32,
     pub axe_mat: char,
     pub axe_durability: f32,
diff --git a/src/training/charge.rs b/src/training/charge.rs
index a7cf2b79..0343e255 100644
--- a/src/training/charge.rs
+++ b/src/training/charge.rs
@@ -1,5 +1,5 @@
-use serde::{Serialize, Deserialize};
-use smash::app::{self, lua_bind::*, ArticleOperationTarget, FighterFacial, FighterUtil};
+use serde::{Deserialize, Serialize};
+use smash::app::{self, ArticleOperationTarget, FighterFacial, FighterUtil, lua_bind::*};
 use smash::lib::lua_const::*;
 use smash::phx::{Hash40, Vector3f};
 
diff --git a/src/training/clatter.rs b/src/training/clatter.rs
index 9c18d3a9..df173c9b 100644
--- a/src/training/clatter.rs
+++ b/src/training/clatter.rs
@@ -1,11 +1,12 @@
-use crate::common::consts::*;
-use crate::common::*;
-use crate::training::mash;
-use smash::app::lua_bind::{ControlModule, EffectModule};
 use smash::app::BattleObjectModuleAccessor;
+use smash::app::lua_bind::{ControlModule, EffectModule};
 use smash::lib::lua_const::*;
 use smash::phx::{Hash40, Vector3f};
 
+use crate::common::*;
+use crate::common::consts::*;
+use crate::training::mash;
+
 static mut COUNTER: u32 = 0;
 static mut WAS_IN_CLATTER_FLAG: bool = false;
 static mut CLATTER_STEP: f32 = 8.0;
diff --git a/src/training/combo.rs b/src/training/combo.rs
index 8c1e27dd..8566c34d 100644
--- a/src/training/combo.rs
+++ b/src/training/combo.rs
@@ -1,7 +1,8 @@
 use skyline::nn::ui2d::ResColor;
 use training_mod_consts::OnOff;
-use crate::common::consts::FighterId;
+
 use crate::common::*;
+use crate::common::consts::FighterId;
 use crate::training::*;
 
 pub static mut FRAME_ADVANTAGE: i32 = 0;
@@ -59,7 +60,7 @@ fn update_frame_advantage(new_frame_adv: i32) {
                     x if x < 0 => ResColor { r: 200, g: 8, b: 8, a: 255 },
                     x if x == 0 => ResColor { r: 0, g: 0, b: 0, a: 255 },
                     _ => ResColor { r: 31, g: 198, b: 0, a: 255 },
-                }
+                },
             );
         }
     }
@@ -82,10 +83,10 @@ pub unsafe fn is_enable_transition_term(
 
     if !PLAYER_ACTIONABLE
         && ((is
-            && actionable_statuses!()
-                .iter()
-                .any(|actionable_transition| *actionable_transition == transition_term))
-            || (CancelModule::is_enable_cancel(module_accessor)))
+        && actionable_statuses!()
+        .iter()
+        .any(|actionable_transition| *actionable_transition == transition_term))
+        || (CancelModule::is_enable_cancel(module_accessor)))
     {
         PLAYER_ACTIVE_FRAME = frame_counter::get_frame_count(FRAME_COUNTER_INDEX);
         PLAYER_ACTIONABLE = true;
diff --git a/src/training/crouch.rs b/src/training/crouch.rs
index 54f4cac2..eb410929 100644
--- a/src/training/crouch.rs
+++ b/src/training/crouch.rs
@@ -1,8 +1,9 @@
-use crate::common::consts::OnOff;
-use crate::common::*;
-use smash::app::{lua_bind::StatusModule, BattleObjectModuleAccessor};
+use smash::app::{BattleObjectModuleAccessor, lua_bind::StatusModule};
 use smash::lib::lua_const::*;
 
+use crate::common::*;
+use crate::common::consts::OnOff;
+
 pub unsafe fn mod_get_stick_y(module_accessor: &mut BattleObjectModuleAccessor) -> Option<f32> {
     if !is_operation_cpu(module_accessor) {
         return None;
@@ -11,13 +12,13 @@ pub unsafe fn mod_get_stick_y(module_accessor: &mut BattleObjectModuleAccessor)
 
     if MENU.crouch == OnOff::On
         && [
-            *FIGHTER_STATUS_KIND_WAIT,
-            *FIGHTER_STATUS_KIND_SQUAT,
-            *FIGHTER_STATUS_KIND_SQUAT_B,
-            *FIGHTER_STATUS_KIND_SQUAT_F,
-            *FIGHTER_STATUS_KIND_SQUAT_RV,
-            *FIGHTER_STATUS_KIND_SQUAT_WAIT,
-        ]
+        *FIGHTER_STATUS_KIND_WAIT,
+        *FIGHTER_STATUS_KIND_SQUAT,
+        *FIGHTER_STATUS_KIND_SQUAT_B,
+        *FIGHTER_STATUS_KIND_SQUAT_F,
+        *FIGHTER_STATUS_KIND_SQUAT_RV,
+        *FIGHTER_STATUS_KIND_SQUAT_WAIT,
+    ]
         .contains(&fighter_status_kind)
     {
         Some(-1.0)
diff --git a/src/training/directional_influence.rs b/src/training/directional_influence.rs
index d5e4c249..d00dea73 100644
--- a/src/training/directional_influence.rs
+++ b/src/training/directional_influence.rs
@@ -1,11 +1,13 @@
-use crate::common::consts::*;
-use crate::common::*;
 use core::f64::consts::PI;
+
 use smash::app::{self, lua_bind::*, sv_system};
-use smash::lib::lua_const::*;
 use smash::lib::L2CValue;
+use smash::lib::lua_const::*;
 use smash::lua2cpp::L2CFighterCommon;
 
+use crate::common::*;
+use crate::common::consts::*;
+
 static mut DI_CASE: Direction = Direction::empty();
 
 pub fn roll_di_case() {
diff --git a/src/training/fast_fall.rs b/src/training/fast_fall.rs
index 7382a0aa..db354665 100644
--- a/src/training/fast_fall.rs
+++ b/src/training/fast_fall.rs
@@ -1,9 +1,10 @@
-use crate::common::*;
-use crate::training::frame_counter;
 use smash::app::{self, lua_bind::*};
 use smash::lib::lua_const::*;
 use smash::phx::{Hash40, Vector3f};
 
+use crate::common::*;
+use crate::training::frame_counter;
+
 static mut FRAME_COUNTER: usize = 0;
 
 // The current fastfall delay
diff --git a/src/training/full_hop.rs b/src/training/full_hop.rs
index 8ec15245..90067466 100644
--- a/src/training/full_hop.rs
+++ b/src/training/full_hop.rs
@@ -1,7 +1,8 @@
-use crate::common::*;
 use smash::app::{self, lua_bind::*};
 use smash::lib::lua_const::*;
 
+use crate::common::*;
+
 // the current full hop status
 static mut FULL_HOP: bool = false;
 
diff --git a/src/training/input_delay.rs b/src/training/input_delay.rs
index cca49ffd..2a4fcace 100644
--- a/src/training/input_delay.rs
+++ b/src/training/input_delay.rs
@@ -1,8 +1,10 @@
-use crate::common::MENU;
+use std::collections::VecDeque;
+
 use lazy_static::lazy_static;
 use parking_lot::Mutex;
 use skyline::nn::hid::{GetNpadStyleSet, NpadGcState};
-use std::collections::VecDeque;
+
+use crate::common::MENU;
 
 lazy_static! {
     static ref P1_DELAYED_NPAD_STATES: Mutex<VecDeque<NpadGcState>> = Mutex::new(VecDeque::new());
diff --git a/src/training/input_record.rs b/src/training/input_record.rs
index c5e1a5ea..16a83698 100644
--- a/src/training/input_record.rs
+++ b/src/training/input_record.rs
@@ -1,16 +1,19 @@
-use crate::training::input_delay::p1_controller_id;
 use lazy_static::lazy_static;
 use parking_lot::Mutex;
 use skyline::nn::hid::NpadHandheldState;
 use smash::app::{lua_bind::*, BattleObjectModuleAccessor};
 use smash::lib::lua_const::*;
 
+use InputRecordState::*;
+
+use crate::training::input_delay::p1_controller_id;
+
 lazy_static! {
     static ref P1_NPAD_STATES: Mutex<[NpadHandheldState; 90]> =
         Mutex::new([{ NpadHandheldState::default() }; 90]);
 }
 
-pub static mut INPUT_RECORD: InputRecordState = InputRecordState::None;
+pub static mut INPUT_RECORD: InputRecordState = None;
 pub static mut INPUT_RECORD_FRAME: usize = 0;
 
 #[derive(PartialEq)]
@@ -20,8 +23,6 @@ pub enum InputRecordState {
     Playback,
 }
 
-use InputRecordState::*;
-
 pub unsafe fn get_command_flag_cat(module_accessor: &mut BattleObjectModuleAccessor) {
     let entry_id_int = WorkModule::get_int(module_accessor, *FIGHTER_INSTANCE_WORK_ID_INT_ENTRY_ID);
 
diff --git a/src/training/ledge.rs b/src/training/ledge.rs
index 208153de..be59877a 100644
--- a/src/training/ledge.rs
+++ b/src/training/ledge.rs
@@ -1,10 +1,11 @@
-use crate::common::consts::*;
-use crate::common::*;
-use crate::training::frame_counter;
-use crate::training::mash;
 use smash::app::{self, lua_bind::*};
 use smash::lib::lua_const::*;
 
+use crate::common::*;
+use crate::common::consts::*;
+use crate::training::frame_counter;
+use crate::training::mash;
+
 const NOT_SET: u32 = 9001;
 static mut LEDGE_DELAY: u32 = NOT_SET;
 static mut LEDGE_DELAY_COUNTER: usize = 0;
diff --git a/src/training/mash.rs b/src/training/mash.rs
index 44f7dadf..089a9973 100644
--- a/src/training/mash.rs
+++ b/src/training/mash.rs
@@ -1,13 +1,14 @@
-use crate::common::consts::*;
+use smash::app::{self, lua_bind::*};
+use smash::lib::lua_const::*;
+
 use crate::common::*;
+use crate::common::consts::*;
 use crate::training::{attack_angle, save_states};
 use crate::training::character_specific;
 use crate::training::fast_fall;
 use crate::training::frame_counter;
 use crate::training::full_hop;
 use crate::training::shield;
-use smash::app::{self, lua_bind::*};
-use smash::lib::lua_const::*;
 
 const DISTANCE_CLOSE_THRESHOLD: f32 = 16.0;
 const DISTANCE_MID_THRESHOLD: f32 = 37.0;
diff --git a/src/training/mod.rs b/src/training/mod.rs
index e64c4867..f1bcf1dc 100644
--- a/src/training/mod.rs
+++ b/src/training/mod.rs
@@ -1,7 +1,3 @@
-use crate::common::{is_training_mode, menu, FIGHTER_MANAGER_ADDR, ITEM_MANAGER_ADDR, STAGE_MANAGER_ADDR, dev_config};
-use crate::hitbox_visualizer;
-use crate::logging::*;
-use crate::training::character_specific::items;
 use skyline::hooks::{getRegionAddress, InlineCtx, Region};
 use skyline::nn::hid::*;
 use skyline::nn::ro::LookupSymbol;
@@ -10,6 +6,13 @@ use smash::lib::lua_const::*;
 use smash::params::*;
 use smash::phx::{Hash40, Vector3f};
 
+use crate::common::{
+    dev_config, is_training_mode, menu, FIGHTER_MANAGER_ADDR, ITEM_MANAGER_ADDR, STAGE_MANAGER_ADDR,
+};
+use crate::hitbox_visualizer;
+use crate::logging::*;
+use crate::training::character_specific::items;
+
 pub mod buff;
 pub mod charge;
 pub mod clatter;
@@ -29,11 +32,11 @@ mod attack_angle;
 mod character_specific;
 mod fast_fall;
 mod full_hop;
-pub(crate) mod input_delay;
+pub mod input_delay;
 mod input_record;
 mod mash;
 mod reset;
-pub(crate) mod save_states;
+pub mod save_states;
 mod shield_tilt;
 
 #[skyline::hook(replace = WorkModule::get_param_float)]
@@ -321,7 +324,9 @@ fn params_main(params_info: &ParamsInfo<'_>) {
     }
 }
 
-static CLOUD_ADD_LIMIT_OFFSET: usize = 0x008dc140; // this function is used to add limit to Cloud's limit gauge. Hooking it here so we can call it in buff.rs
+static CLOUD_ADD_LIMIT_OFFSET: usize = 0x008dc140;
+
+// this function is used to add limit to Cloud's limit gauge. Hooking it here so we can call it in buff.rs
 #[skyline::hook(offset = CLOUD_ADD_LIMIT_OFFSET)]
 pub unsafe fn handle_add_limit(
     add_limit: f32,
@@ -369,8 +374,9 @@ pub unsafe fn handle_check_doyle_summon_dispatch(
 
 // Set Stale Moves to On
 static STALE_OFFSET: usize = 0x013e88a4;
+
 // One instruction after stale moves toggle register is set to 0
-#[skyline::hook(offset=STALE_OFFSET, inline)]
+#[skyline::hook(offset = STALE_OFFSET, inline)]
 unsafe fn stale_handle(ctx: &mut InlineCtx) {
     let x22 = ctx.registers[22].x.as_mut();
     let training_structure_address = (*x22 + 0xb60) as *mut u8;
@@ -379,8 +385,9 @@ unsafe fn stale_handle(ctx: &mut InlineCtx) {
 
 // Set Stale Moves to On in the menu text
 static STALE_MENU_OFFSET: usize = 0x013e88a0;
+
 // One instruction after menu text register is set to off
-#[skyline::hook(offset=STALE_MENU_OFFSET, inline)]
+#[skyline::hook(offset = STALE_MENU_OFFSET, inline)]
 unsafe fn stale_menu_handle(ctx: &mut InlineCtx) {
     // Set the text pointer to where "mel_training_on" is located
     let on_text_ptr = (getRegionAddress(Region::Text) as u64) + 0x42b215e;
@@ -461,7 +468,9 @@ pub unsafe fn handle_effect(
     )
 }
 
-static CAN_FUTTOBI_BACK_OFFSET: usize = 0x0260f950; // can_futtobi_back, checks if stage allows for star KOs
+static CAN_FUTTOBI_BACK_OFFSET: usize = 0x0260f950;
+
+// can_futtobi_back, checks if stage allows for star KOs
 #[skyline::hook(offset = CAN_FUTTOBI_BACK_OFFSET)]
 pub unsafe fn handle_star_ko(my_long_ptr: &mut u64) -> bool {
     let ori = original!()(my_long_ptr);
@@ -512,7 +521,7 @@ pub fn training_mods() {
                 .as_ptr(),
         );
 
-        smash::params::add_hook(params_main).unwrap();
+        add_hook(params_main).unwrap();
     }
 
     skyline::install_hooks!(
diff --git a/src/training/reset.rs b/src/training/reset.rs
index e0a1c89b..deae88c1 100644
--- a/src/training/reset.rs
+++ b/src/training/reset.rs
@@ -1,3 +1,6 @@
+use smash::app::{self, lua_bind::*};
+use smash::lib::lua_const::*;
+
 use crate::common::*;
 use crate::training::frame_counter;
 use crate::training::ledge;
@@ -5,8 +8,6 @@ use crate::training::mash;
 use crate::training::sdi;
 use crate::training::shield_tilt;
 use crate::training::throw;
-use smash::app::{self, lua_bind::*};
-use smash::lib::lua_const::*;
 
 pub fn check_reset(module_accessor: &mut app::BattleObjectModuleAccessor) {
     if !is_operation_cpu(module_accessor) {
diff --git a/src/training/save_states.rs b/src/training/save_states.rs
index b16c4e4b..751c07b3 100644
--- a/src/training/save_states.rs
+++ b/src/training/save_states.rs
@@ -1,7 +1,21 @@
+use std::collections::HashMap;
+
+use log::info;
+use parking_lot::Mutex;
+use serde::{Deserialize, Serialize};
+use smash::app::{self, Item, lua_bind::*};
+use smash::hash40;
+use smash::lib::lua_const::*;
+use smash::phx::{Hash40, Vector3f};
+use training_mod_consts::{CharacterItem, SaveDamage};
+
+use SaveState::*;
+
+use crate::{is_ptrainer, ITEM_MANAGER_ADDR};
 use crate::common::button_config;
+use crate::common::consts::FighterId;
 use crate::common::consts::get_random_float;
 use crate::common::consts::get_random_int;
-use crate::common::consts::FighterId;
 use crate::common::consts::OnOff;
 use crate::common::consts::SaveStateMirroring;
 use crate::common::is_dead;
@@ -12,17 +26,6 @@ use crate::training::character_specific::steve;
 use crate::training::charge::{self, ChargeState};
 use crate::training::items::apply_item;
 use crate::training::reset;
-use crate::{is_ptrainer, ITEM_MANAGER_ADDR};
-use SaveState::*;
-use parking_lot::Mutex;
-use serde::{Serialize, Deserialize};
-use smash::app::{self, lua_bind::*, Item};
-use smash::hash40;
-use smash::lib::lua_const::*;
-use smash::phx::{Hash40, Vector3f};
-use std::collections::HashMap;
-use log::info;
-use training_mod_consts::{CharacterItem, SaveDamage};
 use crate::training::ui::notifications;
 
 extern "C" {
@@ -98,15 +101,15 @@ pub struct SaveStateSlots {
     cpu: [SavedState; NUM_SAVE_STATE_SLOTS],
 }
 
-const NUM_SAVE_STATE_SLOTS : usize = 5;
+const NUM_SAVE_STATE_SLOTS: usize = 5;
 // I actually had to do it this way, a simple load-from-file in main() caused crashes.
 lazy_static::lazy_static! {
     static ref SAVE_STATE_SLOTS : Mutex<SaveStateSlots> = Mutex::new(load_from_file());
 }
-static mut SAVE_STATE_SLOT : usize = 0;
+static mut SAVE_STATE_SLOT: usize = 0;
 
 pub fn load_from_file() -> SaveStateSlots {
-    let defaults = SaveStateSlots{
+    let defaults = SaveStateSlots {
         player: [default_save_state!(); NUM_SAVE_STATE_SLOTS],
         cpu: [default_save_state!(); NUM_SAVE_STATE_SLOTS],
     };
@@ -291,7 +294,7 @@ pub unsafe fn save_states(module_accessor: &mut app::BattleObjectModuleAccessor)
         *FIGHTER_KIND_EDGE,
         *FIGHTER_KIND_WIIFIT,
     ]
-    .contains(&fighter_kind);
+        .contains(&fighter_kind);
 
     if !is_operation_cpu(module_accessor) &&
         button_config::combo_passes_exclusive(module_accessor, button_config::ButtonCombo::PrevSaveStateSlot) {
diff --git a/src/training/sdi.rs b/src/training/sdi.rs
index b59e723a..af0c5fe2 100644
--- a/src/training/sdi.rs
+++ b/src/training/sdi.rs
@@ -1,10 +1,12 @@
-use crate::common::consts::*;
-use crate::common::*;
-use crate::training::directional_influence;
 use core::f64::consts::PI;
+
 use smash::app::{self, lua_bind::*};
 use smash::Vector2f;
 
+use crate::common::*;
+use crate::common::consts::*;
+use crate::training::directional_influence;
+
 static mut COUNTER: u32 = 0;
 
 static mut DIRECTION: Direction = Direction::NEUTRAL;
diff --git a/src/training/shield.rs b/src/training/shield.rs
index 20239c2a..f48b90ec 100644
--- a/src/training/shield.rs
+++ b/src/training/shield.rs
@@ -1,15 +1,16 @@
-use crate::common::consts::*;
-use crate::common::*;
-use crate::training::{frame_counter, save_states};
-use crate::training::mash;
 use smash::app;
 use smash::app::lua_bind::*;
 use smash::app::sv_system;
 use smash::hash40;
-use smash::lib::lua_const::*;
 use smash::lib::L2CValue;
+use smash::lib::lua_const::*;
 use smash::lua2cpp::L2CFighterCommon;
 
+use crate::common::*;
+use crate::common::consts::*;
+use crate::training::{frame_counter, save_states};
+use crate::training::mash;
+
 // How many hits to hold shield until picking an Out Of Shield option
 static mut MULTI_HIT_OFFSET: u32 = 0;
 
diff --git a/src/training/shield_tilt.rs b/src/training/shield_tilt.rs
index cb32099c..6920bac2 100644
--- a/src/training/shield_tilt.rs
+++ b/src/training/shield_tilt.rs
@@ -1,7 +1,8 @@
-use crate::common::consts::*;
-use crate::common::*;
 use smash::app::{self};
 
+use crate::common::*;
+use crate::common::consts::*;
+
 static mut STICK_DIRECTION: Direction = Direction::OUT;
 
 pub fn roll_direction() {
diff --git a/src/training/tech.rs b/src/training/tech.rs
index fc1d4bb1..30137880 100644
--- a/src/training/tech.rs
+++ b/src/training/tech.rs
@@ -1,12 +1,13 @@
-use crate::common::consts::*;
-use crate::common::*;
-use crate::training::{frame_counter, mash};
-use smash::app::{self, lua_bind::*, sv_system, BattleObjectModuleAccessor};
+use smash::app::{lua_bind::*, sv_system, BattleObjectModuleAccessor};
 use smash::hash40;
 use smash::lib::lua_const::*;
 use smash::lib::L2CValue;
 use smash::lua2cpp::L2CFighterBase;
 
+use crate::common::consts::*;
+use crate::common::*;
+use crate::training::{frame_counter, mash};
+
 static mut TECH_ROLL_DIRECTION: Direction = Direction::empty();
 static mut MISS_TECH_ROLL_DIRECTION: Direction = Direction::empty();
 static mut FRAME_COUNTER: usize = 0;
@@ -66,7 +67,7 @@ unsafe fn mod_handle_change_status(
 }
 
 unsafe fn handle_grnd_tech(
-    module_accessor: &mut app::BattleObjectModuleAccessor,
+    module_accessor: &mut BattleObjectModuleAccessor,
     status_kind: &mut L2CValue,
     unk: &mut L2CValue,
     status_kind_int: i32,
@@ -122,7 +123,7 @@ unsafe fn handle_grnd_tech(
 }
 
 unsafe fn handle_wall_tech(
-    module_accessor: &mut app::BattleObjectModuleAccessor,
+    module_accessor: &mut BattleObjectModuleAccessor,
     status_kind: &mut L2CValue,
     unk: &mut L2CValue,
     status_kind_int: i32,
@@ -164,7 +165,7 @@ unsafe fn handle_wall_tech(
 }
 
 unsafe fn handle_ceil_tech(
-    module_accessor: &mut app::BattleObjectModuleAccessor,
+    module_accessor: &mut BattleObjectModuleAccessor,
     status_kind: &mut L2CValue,
     unk: &mut L2CValue,
     status_kind_int: i32,
@@ -194,7 +195,7 @@ unsafe fn handle_ceil_tech(
     true
 }
 
-pub unsafe fn get_command_flag_cat(module_accessor: &mut app::BattleObjectModuleAccessor) {
+pub unsafe fn get_command_flag_cat(module_accessor: &mut BattleObjectModuleAccessor) {
     if !is_operation_cpu(module_accessor) || MENU.tech_state == TechFlags::empty() {
         return;
     }
@@ -263,7 +264,7 @@ pub unsafe fn get_command_flag_cat(module_accessor: &mut app::BattleObjectModule
 }
 
 pub unsafe fn change_motion(
-    module_accessor: &mut app::BattleObjectModuleAccessor,
+    module_accessor: &mut BattleObjectModuleAccessor,
     motion_kind: u64,
 ) -> Option<u64> {
     if !is_operation_cpu(module_accessor) {
@@ -297,9 +298,7 @@ pub unsafe fn change_motion(
     None
 }
 
-unsafe fn get_snake_laydown_lockout_time(
-    module_accessor: &mut app::BattleObjectModuleAccessor,
-) -> u32 {
+unsafe fn get_snake_laydown_lockout_time(module_accessor: &mut BattleObjectModuleAccessor) -> u32 {
     let base_lockout_time: f32 = WorkModule::get_param_float(
         module_accessor,
         hash40("common"),
diff --git a/src/training/throw.rs b/src/training/throw.rs
index 2c3a7826..6f5caff5 100644
--- a/src/training/throw.rs
+++ b/src/training/throw.rs
@@ -1,10 +1,11 @@
-use crate::common::consts::*;
-use crate::common::*;
-use crate::training::frame_counter;
-use crate::training::mash;
 use smash::app::{self, lua_bind::*};
 use smash::lib::lua_const::*;
 
+use crate::common::*;
+use crate::common::consts::*;
+use crate::training::frame_counter;
+use crate::training::mash;
+
 const NOT_SET: u32 = 9001;
 static mut THROW_DELAY: u32 = NOT_SET;
 static mut THROW_DELAY_COUNTER: usize = 0;
diff --git a/src/training/ui/damage.rs b/src/training/ui/damage.rs
index e20e60e0..cccb94d4 100644
--- a/src/training/ui/damage.rs
+++ b/src/training/ui/damage.rs
@@ -1,8 +1,9 @@
-use crate::common::{get_player_dmg_digits, is_ready_go, is_training_mode};
-use crate::consts::FighterId;
 use skyline::nn::ui2d::*;
 use smash::ui2d::SmashPane;
 
+use crate::common::{get_player_dmg_digits, is_ready_go, is_training_mode};
+use crate::consts::FighterId;
+
 pub unsafe fn iterate_anim_list(
     anim_transform_node: &mut AnimTransformNode,
     layout_name: Option<&str>,
diff --git a/src/training/ui/display.rs b/src/training/ui/display.rs
index c854587d..8c8d7066 100644
--- a/src/training/ui/display.rs
+++ b/src/training/ui/display.rs
@@ -1,7 +1,8 @@
-use crate::training::ui;
 use skyline::nn::ui2d::*;
 use smash::ui2d::{SmashPane, SmashTextBox};
 
+use crate::training::ui;
+
 macro_rules! display_parent_fmt {
     ($x:ident) => {
         format!("TrModDisp{}", $x).as_str()
diff --git a/src/training/ui/menu.rs b/src/training/ui/menu.rs
index 988bbbb5..ea359f32 100644
--- a/src/training/ui/menu.rs
+++ b/src/training/ui/menu.rs
@@ -1,9 +1,11 @@
-use crate::{common, common::menu::QUICK_MENU_ACTIVE};
 use skyline::nn::ui2d::*;
 use smash::ui2d::{SmashPane, SmashTextBox};
+
 use training_mod_tui::{App, AppPage};
 use training_mod_tui::gauge::GaugeState;
 
+use crate::{common, common::menu::QUICK_MENU_ACTIVE};
+
 pub static NUM_MENU_TEXT_OPTIONS: usize = 33;
 pub static _NUM_MENU_TABS: usize = 3;
 
@@ -319,35 +321,35 @@ pub unsafe fn draw(root_pane: &mut Pane) {
     });
     [(0xE0E2, "SaveDefaults"), (0xE0E4, "ResetCurrentDefaults"), (0xE0E5, "ResetAllDefaults")].iter()
         .for_each(|(key, name)| {
-        let key_help_pane = root_pane.find_pane_by_name_recursive(name)
-            .unwrap();
+            let key_help_pane = root_pane.find_pane_by_name_recursive(name)
+                .unwrap();
 
-        let icon_pane = key_help_pane.find_pane_by_name_recursive("set_txt_icon")
-            .unwrap().as_textbox();
-        icon_pane.set_text_string("");
-        let it = icon_pane.text_buf as *mut u16;
-        icon_pane.text_len = 1;
-        *it = *key as u16;
-        *(it.add(1)) = 0x0;
+            let icon_pane = key_help_pane.find_pane_by_name_recursive("set_txt_icon")
+                .unwrap().as_textbox();
+            icon_pane.set_text_string("");
+            let it = icon_pane.text_buf as *mut u16;
+            icon_pane.text_len = 1;
+            *it = *key as u16;
+            *(it.add(1)) = 0x0;
 
-        // PascalCase to Title Case
-        let title_case = name
-            .chars()
-            .fold(vec![], |mut acc, ch| {
-                if ch.is_uppercase() {
-                    acc.push(String::new());
-                }
-                if let Some(last) = acc.last_mut() {
-                    last.push(ch);
-                }
-                acc
-            })
-            .into_iter()
-            .collect::<Vec<String>>()
-            .join(" ");
-        key_help_pane.find_pane_by_name_recursive("set_txt_help")
-            .unwrap().as_textbox().set_text_string(title_case.as_str());
-    });
+            // PascalCase to Title Case
+            let title_case = name
+                .chars()
+                .fold(vec![], |mut acc, ch| {
+                    if ch.is_uppercase() {
+                        acc.push(String::new());
+                    }
+                    if let Some(last) = acc.last_mut() {
+                        last.push(ch);
+                    }
+                    acc
+                })
+                .into_iter()
+                .collect::<Vec<String>>()
+                .join(" ");
+            key_help_pane.find_pane_by_name_recursive("set_txt_help")
+                .unwrap().as_textbox().set_text_string(title_case.as_str());
+        });
 
     match app.page {
         AppPage::SUBMENU => render_submenu_page(app, root_pane),
diff --git a/src/training/ui/mod.rs b/src/training/ui/mod.rs
index 051231f8..6049638d 100644
--- a/src/training/ui/mod.rs
+++ b/src/training/ui/mod.rs
@@ -1,7 +1,8 @@
-use crate::common::{is_ready_go, is_training_mode};
 use sarc::SarcFile;
 use skyline::nn::ui2d::*;
-use training_mod_consts::{OnOff, MENU};
+use training_mod_consts::{MENU, OnOff};
+
+use crate::common::{is_ready_go, is_training_mode};
 
 mod damage;
 mod display;
@@ -33,7 +34,7 @@ pub unsafe fn handle_draw(layout: *mut Layout, draw_info: u64, cmd_buffer: u64)
 // We'll keep some sane max size here; we shouldn't reach above 600KiB is the idea,
 // but we can try higher if we need to.
 #[cfg(feature = "layout_arc_from_file")]
-static mut LAYOUT_ARC : &mut [u8; 600000] = &mut [0u8; 600000];
+static mut LAYOUT_ARC: &mut [u8; 600000] = &mut [0u8; 600000];
 
 /// We are editing the info_training/layout.arc and replacing the original file with our
 /// modified version from `sd://TrainingModpack/layout.arc` or, in the case of Ryujinx for the cool
@@ -82,7 +83,7 @@ unsafe fn handle_layout_arc_malloc(
     let decompressed_size = *ctx.registers[1].x.as_ref() as usize;
 
     let layout_arc = SarcFile::read(
-        std::slice::from_raw_parts(decompressed_file,decompressed_size)
+        std::slice::from_raw_parts(decompressed_file, decompressed_size)
     ).unwrap();
     let training_layout = layout_arc.files.iter().find(|f| {
         f.name.is_some() && f.name.as_ref().unwrap() == &String::from("blyt/info_training.bflyt")
@@ -92,7 +93,7 @@ unsafe fn handle_layout_arc_malloc(
     }
 
     let inject_arc;
-    let inject_arc_size : u64;
+    let inject_arc_size: u64;
 
     #[cfg(feature = "layout_arc_from_file")] {
         let inject_arc_from_file = std::fs::read("sd:/TrainingModpack/layout.arc").unwrap();
diff --git a/src/training/ui/notifications.rs b/src/training/ui/notifications.rs
index cce43745..b1d0b5ad 100644
--- a/src/training/ui/notifications.rs
+++ b/src/training/ui/notifications.rs
@@ -7,7 +7,7 @@ pub struct Notification {
     pub header: String,
     pub message: String,
     length: u32,
-    pub color: ResColor
+    pub color: ResColor,
 }
 
 impl Notification {
@@ -16,7 +16,7 @@ impl Notification {
             header,
             message,
             length,
-            color
+            color,
         }
     }
 
@@ -37,7 +37,7 @@ pub fn notification(header: String, message: String, len: u32) {
             r: 0,
             g: 0,
             b: 0,
-            a: 255
+            a: 255,
         }));
     }
 }