diff --git a/src/utils/client.ts b/src/utils/client.ts
index b1fa31f..f443d24 100644
--- a/src/utils/client.ts
+++ b/src/utils/client.ts
@@ -1,13 +1,12 @@
-import Discord, { Client, Interaction, AutocompleteInteraction, Collection } from 'discord.js';
+import Discord, { Client, Interaction, AutocompleteInteraction, Collection } from "discord.js";
 import { Logger } from "../utils/log.js";
 import Memory from "../utils/memory.js";
 import type { VerifySchema } from "../reflex/verify.js";
-import { Guilds, History, ModNotes, Premium, PerformanceTest, ScanCache, Transcript,  } from "../utils/database.js";
+import { Guilds, History, ModNotes, Premium, PerformanceTest, ScanCache, Transcript } from "../utils/database.js";
 import EventScheduler from "../utils/eventScheduler.js";
 import type { RoleMenuSchema } from "../actions/roleMenu.js";
 import config from "../config/main.js";
 
-
 class NucleusClient extends Client {
     logger = Logger;
     config: typeof config = config;
@@ -23,20 +22,35 @@
         eventScheduler: EventScheduler;
         performanceTest: PerformanceTest;
         scanCache: ScanCache;
-        transcripts: Transcript
+        transcripts: Transcript;
     };
-    preloadPage: Record<string, {command: string, argument: string}> = {};  // e.g. { channelID: { command: privacy, page: 3}}
-    commands: Record<string, [{
-        command: Discord.SlashCommandBuilder |
-                ((builder: Discord.SlashCommandBuilder) => Discord.SlashCommandBuilder) |
-                Discord.SlashCommandSubcommandBuilder | ((builder: Discord.SlashCommandSubcommandBuilder) => Discord.SlashCommandSubcommandBuilder) | Discord.SlashCommandSubcommandGroupBuilder | ((builder: Discord.SlashCommandSubcommandGroupBuilder) => Discord.SlashCommandSubcommandGroupBuilder),
-        callback: (interaction: Interaction) => Promise<void>,
-        check: (interaction: Interaction, partial: boolean) => Promise<boolean> | boolean,
-        autocomplete: (interaction: AutocompleteInteraction) => Promise<string[]>
-    } | undefined, {name: string, description: string}]> = {};
+    preloadPage: Record<string, { command: string; argument: string }> = {}; // e.g. { channelID: { command: privacy, page: 3}}
+    commands: Record<
+        string,
+        [
+            (
+                | {
+                      command:
+                          | Discord.SlashCommandBuilder
+                          | ((builder: Discord.SlashCommandBuilder) => Discord.SlashCommandBuilder)
+                          | Discord.SlashCommandSubcommandBuilder
+                          | ((builder: Discord.SlashCommandSubcommandBuilder) => Discord.SlashCommandSubcommandBuilder)
+                          | Discord.SlashCommandSubcommandGroupBuilder
+                          | ((
+                                builder: Discord.SlashCommandSubcommandGroupBuilder
+                            ) => Discord.SlashCommandSubcommandGroupBuilder);
+                      callback: (interaction: Interaction) => Promise<void>;
+                      check: (interaction: Interaction, partial: boolean) => Promise<boolean> | boolean;
+                      autocomplete: (interaction: AutocompleteInteraction) => Promise<string[]>;
+                  }
+                | undefined
+            ),
+            { name: string; description: string }
+        ]
+    > = {};
     fetchedCommands = new Collection<string, Discord.ApplicationCommand>();
     constructor(database: typeof NucleusClient.prototype.database) {
-        super({ intents: 0b1100011011011111111111});
+        super({ intents: 0b1100011011011111111111 });
         this.database = database;
     }
 }
@@ -52,4 +66,4 @@
 });
 
 export default client;
-export { NucleusClient };
\ No newline at end of file
+export { NucleusClient };
