diff --git a/src/application/base/baseController.ts b/src/application/base/baseController.ts
index cf3242e..f2480b5 100644
--- a/src/application/base/baseController.ts
+++ b/src/application/base/baseController.ts
@@ -1,6 +1,6 @@
 import fs from 'fs'
 
-import { Response } from 'express'
+import type { Response } from 'express'
 
 import Logger, { LoggerType } from '#application/logger'
 
diff --git a/src/application/base/baseEvent.ts b/src/application/base/baseEvent.ts
index a7297d2..892aaae 100644
--- a/src/application/base/baseEvent.ts
+++ b/src/application/base/baseEvent.ts
@@ -1,7 +1,8 @@
 import { Server } from 'socket.io'
 
+import type { TSocket } from '#application/types'
+
 import Logger, { LoggerType } from '#application/logger'
-import { TSocket } from '#application/types'
 import { Character } from '#entities/character'
 import CharacterRepository from '#repositories/characterRepository'
 
diff --git a/src/application/console/commandRegistry.ts b/src/application/console/commandRegistry.ts
index 2faeee8..07f77e8 100644
--- a/src/application/console/commandRegistry.ts
+++ b/src/application/console/commandRegistry.ts
@@ -2,9 +2,10 @@ import * as fs from 'fs'
 import * as path from 'path'
 import { pathToFileURL } from 'url'
 
+import type { Command } from '#application/types'
+
 import Logger, { LoggerType } from '#application/logger'
 import Storage from '#application/storage'
-import { Command } from '#application/types'
 
 export class CommandRegistry {
   private readonly commands: Map<string, Command> = new Map()
diff --git a/src/commands/init.ts b/src/commands/init.ts
index c33c56f..f5f1411 100644
--- a/src/commands/init.ts
+++ b/src/commands/init.ts
@@ -2,10 +2,11 @@ import fs from 'fs'
 
 import sharp from 'sharp'
 
+import type { UUID } from '#application/types'
+
 import { BaseCommand } from '#application/base/baseCommand'
 import { CharacterGender, CharacterRace } from '#application/enums'
 import Storage from '#application/storage'
-import { UUID } from '#application/types'
 import { Character } from '#entities/character'
 import { CharacterHair } from '#entities/characterHair'
 import { CharacterType } from '#entities/characterType'
diff --git a/src/controllers/auth.ts b/src/controllers/auth.ts
index 21fc2bc..0206766 100644
--- a/src/controllers/auth.ts
+++ b/src/controllers/auth.ts
@@ -1,6 +1,7 @@
-import { Request, Response } from 'express'
 import jwt from 'jsonwebtoken'
 
+import type { Request, Response } from 'express'
+
 import { BaseController } from '#application/base/baseController'
 import config from '#application/config'
 import { loginAccountSchema, registerAccountSchema, resetPasswordSchema, newPasswordSchema } from '#application/zodTypes'
diff --git a/src/controllers/avatar.ts b/src/controllers/avatar.ts
index 9000718..79d5139 100644
--- a/src/controllers/avatar.ts
+++ b/src/controllers/avatar.ts
@@ -1,11 +1,12 @@
 import fs from 'fs'
 
-import { Request, Response } from 'express'
 import sharp from 'sharp'
 
+import type { UUID } from '#application/types'
+import type { Request, Response } from 'express'
+
 import { BaseController } from '#application/base/baseController'
 import Storage from '#application/storage'
-import { UUID } from '#application/types'
 import CharacterHairRepository from '#repositories/characterHairRepository'
 import CharacterRepository from '#repositories/characterRepository'
 import CharacterTypeRepository from '#repositories/characterTypeRepository'
diff --git a/src/controllers/cache.ts b/src/controllers/cache.ts
index 09b375f..20f973e 100644
--- a/src/controllers/cache.ts
+++ b/src/controllers/cache.ts
@@ -1,4 +1,4 @@
-import { Request, Response } from 'express'
+import type { Request, Response } from 'express'
 
 import { BaseController } from '#application/base/baseController'
 import CharacterHairRepository from '#repositories/characterHairRepository'
diff --git a/src/controllers/textures.ts b/src/controllers/textures.ts
index bbd04a1..311b3c6 100644
--- a/src/controllers/textures.ts
+++ b/src/controllers/textures.ts
@@ -1,4 +1,4 @@
-import { Request, Response } from 'express'
+import type { Request, Response } from 'express'
 
 import { BaseController } from '#application/base/baseController'
 import Storage from '#application/storage'
diff --git a/src/entities/base/character.ts b/src/entities/base/character.ts
index 3f74f1f..4e6f68b 100644
--- a/src/entities/base/character.ts
+++ b/src/entities/base/character.ts
@@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
 
 import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
-import { UUID } from '#application/types'
 import { CharacterEquipment } from '#entities/characterEquipment'
 import { CharacterHair } from '#entities/characterHair'
 import { CharacterItem } from '#entities/characterItem'
diff --git a/src/entities/base/characterEquipment.ts b/src/entities/base/characterEquipment.ts
index 71d95db..faa7aa4 100644
--- a/src/entities/base/characterEquipment.ts
+++ b/src/entities/base/characterEquipment.ts
@@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto'
 
 import { Enum, ManyToOne, PrimaryKey } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
 import { CharacterEquipmentSlotType } from '#application/enums'
-import { UUID } from '#application/types'
 import { Character } from '#entities/character'
 import { CharacterItem } from '#entities/characterItem'
 
diff --git a/src/entities/base/characterHair.ts b/src/entities/base/characterHair.ts
index 149d2e1..234e5d6 100644
--- a/src/entities/base/characterHair.ts
+++ b/src/entities/base/characterHair.ts
@@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto'
 
 import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
 import { CharacterGender } from '#application/enums'
-import { UUID } from '#application/types'
 import { Character } from '#entities/character'
 import { Sprite } from '#entities/sprite'
 
diff --git a/src/entities/base/characterItem.ts b/src/entities/base/characterItem.ts
index 9ae9871..9d0f1af 100644
--- a/src/entities/base/characterItem.ts
+++ b/src/entities/base/characterItem.ts
@@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
 
 import { Collection, Entity, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
-import { UUID } from '#application/types'
 import { Character } from '#entities/character'
 import { CharacterEquipment } from '#entities/characterEquipment'
 import { Item } from '#entities/item'
diff --git a/src/entities/base/characterType.ts b/src/entities/base/characterType.ts
index 3c9ff97..fddff4e 100644
--- a/src/entities/base/characterType.ts
+++ b/src/entities/base/characterType.ts
@@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto'
 
 import { Collection, Entity, Enum, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
 import { CharacterGender, CharacterRace } from '#application/enums'
-import { UUID } from '#application/types'
 import { Character } from '#entities/character'
 import { Sprite } from '#entities/sprite'
 
diff --git a/src/entities/base/chat.ts b/src/entities/base/chat.ts
index f6cc454..e7bd31e 100644
--- a/src/entities/base/chat.ts
+++ b/src/entities/base/chat.ts
@@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
 
 import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
-import { UUID } from '#application/types'
 import { Character } from '#entities/character'
 import { Map } from '#entities/map'
 
diff --git a/src/entities/base/item.ts b/src/entities/base/item.ts
index e4da4d8..9245e89 100644
--- a/src/entities/base/item.ts
+++ b/src/entities/base/item.ts
@@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto'
 
 import { Collection, Entity, Enum, ManyToOne, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
 import { ItemType, ItemRarity } from '#application/enums'
-import { UUID } from '#application/types'
 import { CharacterItem } from '#entities/characterItem'
 import { Sprite } from '#entities/sprite'
 
diff --git a/src/entities/base/map.ts b/src/entities/base/map.ts
index 6d4133c..5fe4ab9 100644
--- a/src/entities/base/map.ts
+++ b/src/entities/base/map.ts
@@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
 
 import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
-import { UUID } from '#application/types'
 import { MapEffect } from '#entities/mapEffect'
 import { MapEventTile } from '#entities/mapEventTile'
 import { PlacedMapObject } from '#entities/placedMapObject'
diff --git a/src/entities/base/mapEffect.ts b/src/entities/base/mapEffect.ts
index 9ef3c32..2863ef0 100644
--- a/src/entities/base/mapEffect.ts
+++ b/src/entities/base/mapEffect.ts
@@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
 
 import { ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
-import { UUID } from '#application/types'
 import { Map } from '#entities/map'
 
 export class BaseMapEffect extends BaseEntity {
diff --git a/src/entities/base/mapEventTile.ts b/src/entities/base/mapEventTile.ts
index f6f53dd..e88873f 100644
--- a/src/entities/base/mapEventTile.ts
+++ b/src/entities/base/mapEventTile.ts
@@ -2,9 +2,10 @@ import { randomUUID } from 'node:crypto'
 
 import { Entity, Enum, ManyToOne, OneToOne, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
 import { MapEventTileType } from '#application/enums'
-import { UUID } from '#application/types'
 import { Map } from '#entities/map'
 import { MapEventTileTeleport } from '#entities/mapEventTileTeleport'
 
diff --git a/src/entities/base/mapEventTileTeleport.ts b/src/entities/base/mapEventTileTeleport.ts
index bf09d61..9011d3b 100644
--- a/src/entities/base/mapEventTileTeleport.ts
+++ b/src/entities/base/mapEventTileTeleport.ts
@@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
 
 import { Entity, ManyToOne, OneToOne, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
-import { UUID } from '#application/types'
 import { Map } from '#entities/map'
 import { MapEventTile } from '#entities/mapEventTile'
 
diff --git a/src/entities/base/mapObject.ts b/src/entities/base/mapObject.ts
index b4ff2da..95e12d4 100644
--- a/src/entities/base/mapObject.ts
+++ b/src/entities/base/mapObject.ts
@@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
 
 import { Entity, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
-import { UUID } from '#application/types'
 
 export class BaseMapObject extends BaseEntity {
   @PrimaryKey()
diff --git a/src/entities/base/passwordResetToken.ts b/src/entities/base/passwordResetToken.ts
index 4133725..5193327 100644
--- a/src/entities/base/passwordResetToken.ts
+++ b/src/entities/base/passwordResetToken.ts
@@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
 
 import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
-import { UUID } from '#application/types'
 import { User } from '#entities/user'
 
 export class BasePasswordResetToken extends BaseEntity {
diff --git a/src/entities/base/placedMapObject.ts b/src/entities/base/placedMapObject.ts
index 8162caa..f31965d 100644
--- a/src/entities/base/placedMapObject.ts
+++ b/src/entities/base/placedMapObject.ts
@@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
 
 import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
-import { UUID } from '#application/types'
 import { Map } from '#entities/map'
 import { MapObject } from '#entities/mapObject'
 
diff --git a/src/entities/base/sprite.ts b/src/entities/base/sprite.ts
index dced5de..1dec72c 100644
--- a/src/entities/base/sprite.ts
+++ b/src/entities/base/sprite.ts
@@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
 
 import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
-import { UUID } from '#application/types'
 import { SpriteAction } from '#entities/spriteAction'
 
 export class BaseSprite extends BaseEntity {
diff --git a/src/entities/base/spriteAction.ts b/src/entities/base/spriteAction.ts
index 889fb22..8114d0c 100644
--- a/src/entities/base/spriteAction.ts
+++ b/src/entities/base/spriteAction.ts
@@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
 
 import { Entity, ManyToOne, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
-import { UUID } from '#application/types'
 import { Sprite } from '#entities/sprite'
 
 export interface SpriteImage {
diff --git a/src/entities/base/tile.ts b/src/entities/base/tile.ts
index 0679157..cc0c2e1 100644
--- a/src/entities/base/tile.ts
+++ b/src/entities/base/tile.ts
@@ -2,8 +2,9 @@ import { randomUUID } from 'node:crypto'
 
 import { Entity, PrimaryKey, Property } from '@mikro-orm/core'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
-import { UUID } from '#application/types'
 
 export class BaseTile extends BaseEntity {
   @PrimaryKey()
diff --git a/src/entities/base/user.ts b/src/entities/base/user.ts
index 06fe160..a3afe45 100644
--- a/src/entities/base/user.ts
+++ b/src/entities/base/user.ts
@@ -3,8 +3,9 @@ import { randomUUID } from 'node:crypto'
 import { Collection, Entity, OneToMany, PrimaryKey, Property } from '@mikro-orm/core'
 import bcrypt from 'bcryptjs'
 
+import type { UUID } from '#application/types'
+
 import { BaseEntity } from '#application/base/baseEntity'
-import { UUID } from '#application/types'
 import { Character } from '#entities/character'
 import { PasswordResetToken } from '#entities/passwordResetToken'
 
diff --git a/src/events/character/connect.ts b/src/events/character/connect.ts
index ccd07b0..99a4806 100644
--- a/src/events/character/connect.ts
+++ b/src/events/character/connect.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
-import { UUID } from '#application/types'
 import MapManager from '#managers/mapManager'
 import CharacterHairRepository from '#repositories/characterHairRepository'
 import CharacterRepository from '#repositories/characterRepository'
diff --git a/src/events/character/delete.ts b/src/events/character/delete.ts
index 160bd4c..082f765 100644
--- a/src/events/character/delete.ts
+++ b/src/events/character/delete.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
-import { UUID } from '#application/types'
 import { Character } from '#entities/character'
 import CharacterRepository from '#repositories/characterRepository'
 
diff --git a/src/events/chat/gameMaster/teleportCommand.ts b/src/events/chat/gameMaster/teleportCommand.ts
index afa5d59..df69828 100644
--- a/src/events/chat/gameMaster/teleportCommand.ts
+++ b/src/events/chat/gameMaster/teleportCommand.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
-import { UUID } from '#application/types'
 import MapManager from '#managers/mapManager'
 import MapRepository from '#repositories/mapRepository'
 import TeleportService from '#services/characterTeleportService'
diff --git a/src/events/gameMaster/assetManager/characterHair/delete.ts b/src/events/gameMaster/assetManager/characterHair/delete.ts
index 405a4ee..a8c76fe 100644
--- a/src/events/gameMaster/assetManager/characterHair/delete.ts
+++ b/src/events/gameMaster/assetManager/characterHair/delete.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
-import { UUID } from '#application/types'
 import CharacterHairRepository from '#repositories/characterHairRepository'
 
 interface IPayload {
diff --git a/src/events/gameMaster/assetManager/characterHair/update.ts b/src/events/gameMaster/assetManager/characterHair/update.ts
index 27e1ab8..8ab064c 100644
--- a/src/events/gameMaster/assetManager/characterHair/update.ts
+++ b/src/events/gameMaster/assetManager/characterHair/update.ts
@@ -1,6 +1,7 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
 import { CharacterGender } from '#application/enums'
-import { UUID } from '#application/types'
 import CharacterHairRepository from '#repositories/characterHairRepository'
 import SpriteRepository from '#repositories/spriteRepository'
 
diff --git a/src/events/gameMaster/assetManager/characterType/delete.ts b/src/events/gameMaster/assetManager/characterType/delete.ts
index c959670..4a38bfc 100644
--- a/src/events/gameMaster/assetManager/characterType/delete.ts
+++ b/src/events/gameMaster/assetManager/characterType/delete.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
-import { UUID } from '#application/types'
 import CharacterTypeRepository from '#repositories/characterTypeRepository'
 
 interface IPayload {
diff --git a/src/events/gameMaster/assetManager/characterType/update.ts b/src/events/gameMaster/assetManager/characterType/update.ts
index 8b3b168..279f26d 100644
--- a/src/events/gameMaster/assetManager/characterType/update.ts
+++ b/src/events/gameMaster/assetManager/characterType/update.ts
@@ -1,6 +1,7 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
 import { CharacterGender, CharacterRace } from '#application/enums'
-import { UUID } from '#application/types'
 import CharacterTypeRepository from '#repositories/characterTypeRepository'
 import SpriteRepository from '#repositories/spriteRepository'
 
diff --git a/src/events/gameMaster/assetManager/item/delete.ts b/src/events/gameMaster/assetManager/item/delete.ts
index 0a65713..dfd919c 100644
--- a/src/events/gameMaster/assetManager/item/delete.ts
+++ b/src/events/gameMaster/assetManager/item/delete.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
-import { UUID } from '#application/types'
 import ItemRepository from '#repositories/itemRepository'
 
 interface IPayload {
diff --git a/src/events/gameMaster/assetManager/item/update.ts b/src/events/gameMaster/assetManager/item/update.ts
index c8de11d..00b034a 100644
--- a/src/events/gameMaster/assetManager/item/update.ts
+++ b/src/events/gameMaster/assetManager/item/update.ts
@@ -1,6 +1,7 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
 import { ItemType, ItemRarity } from '#application/enums'
-import { UUID } from '#application/types'
 import ItemRepository from '#repositories/itemRepository'
 import SpriteRepository from '#repositories/spriteRepository'
 
diff --git a/src/events/gameMaster/assetManager/mapObject/remove.ts b/src/events/gameMaster/assetManager/mapObject/remove.ts
index 6feff49..27ce5f0 100644
--- a/src/events/gameMaster/assetManager/mapObject/remove.ts
+++ b/src/events/gameMaster/assetManager/mapObject/remove.ts
@@ -1,8 +1,9 @@
 import fs from 'fs'
 
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
 import Storage from '#application/storage'
-import { UUID } from '#application/types'
 import MapObjectRepository from '#repositories/mapObjectRepository'
 
 interface IPayload {
diff --git a/src/events/gameMaster/assetManager/mapObject/update.ts b/src/events/gameMaster/assetManager/mapObject/update.ts
index 5cefbbb..80d426e 100644
--- a/src/events/gameMaster/assetManager/mapObject/update.ts
+++ b/src/events/gameMaster/assetManager/mapObject/update.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
-import { UUID } from '#application/types'
 import MapObjectRepository from '#repositories/mapObjectRepository'
 
 type Payload = {
diff --git a/src/events/gameMaster/assetManager/sprite/copy.ts b/src/events/gameMaster/assetManager/sprite/copy.ts
index d02cbd9..dbbcee2 100644
--- a/src/events/gameMaster/assetManager/sprite/copy.ts
+++ b/src/events/gameMaster/assetManager/sprite/copy.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
-import { UUID } from '#application/types'
 import { Sprite } from '#entities/sprite'
 import SpriteRepository from '#repositories/spriteRepository'
 
diff --git a/src/events/gameMaster/assetManager/sprite/delete.ts b/src/events/gameMaster/assetManager/sprite/delete.ts
index fd8a964..cabc53a 100644
--- a/src/events/gameMaster/assetManager/sprite/delete.ts
+++ b/src/events/gameMaster/assetManager/sprite/delete.ts
@@ -1,8 +1,9 @@
 import fs from 'fs'
 
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
 import Storage from '#application/storage'
-import { UUID } from '#application/types'
 import SpriteRepository from '#repositories/spriteRepository'
 
 type Payload = {
diff --git a/src/events/gameMaster/assetManager/sprite/update.ts b/src/events/gameMaster/assetManager/sprite/update.ts
index 8803edd..401fc72 100644
--- a/src/events/gameMaster/assetManager/sprite/update.ts
+++ b/src/events/gameMaster/assetManager/sprite/update.ts
@@ -2,8 +2,9 @@ import fs from 'fs'
 
 import sharp from 'sharp'
 
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
-import { UUID } from '#application/types'
 import { SpriteAction } from '#entities/spriteAction'
 import SpriteRepository from '#repositories/spriteRepository'
 
diff --git a/src/events/gameMaster/assetManager/tile/delete.ts b/src/events/gameMaster/assetManager/tile/delete.ts
index b371341..e1c0e0f 100644
--- a/src/events/gameMaster/assetManager/tile/delete.ts
+++ b/src/events/gameMaster/assetManager/tile/delete.ts
@@ -1,8 +1,9 @@
 import fs from 'fs/promises'
 
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
 import Storage from '#application/storage'
-import { UUID } from '#application/types'
 import TileRepository from '#repositories/tileRepository'
 
 type Payload = {
diff --git a/src/events/gameMaster/assetManager/tile/update.ts b/src/events/gameMaster/assetManager/tile/update.ts
index 0b81444..fd9dbf0 100644
--- a/src/events/gameMaster/assetManager/tile/update.ts
+++ b/src/events/gameMaster/assetManager/tile/update.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
-import { UUID } from '#application/types'
 import TileRepository from '#repositories/tileRepository'
 
 type Payload = {
diff --git a/src/events/gameMaster/mapEditor/delete.ts b/src/events/gameMaster/mapEditor/delete.ts
index 76873e3..9bd1cba 100644
--- a/src/events/gameMaster/mapEditor/delete.ts
+++ b/src/events/gameMaster/mapEditor/delete.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
-import { UUID } from '#application/types'
 import MapRepository from '#repositories/mapRepository'
 
 type Payload = {
diff --git a/src/events/gameMaster/mapEditor/request.ts b/src/events/gameMaster/mapEditor/request.ts
index 28e350a..0b52cea 100644
--- a/src/events/gameMaster/mapEditor/request.ts
+++ b/src/events/gameMaster/mapEditor/request.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
-import { UUID } from '#application/types'
 import { Map } from '#entities/map'
 import MapRepository from '#repositories/mapRepository'
 
diff --git a/src/events/gameMaster/mapEditor/update.ts b/src/events/gameMaster/mapEditor/update.ts
index c4adfc1..4979122 100644
--- a/src/events/gameMaster/mapEditor/update.ts
+++ b/src/events/gameMaster/mapEditor/update.ts
@@ -1,6 +1,7 @@
+import type { UUID } from '#application/types'
+
 import { BaseEvent } from '#application/base/baseEvent'
 import { MapEventTileType } from '#application/enums'
-import { UUID } from '#application/types'
 import { Map } from '#entities/map'
 import { MapEffect } from '#entities/mapEffect'
 import { MapEventTile } from '#entities/mapEventTile'
diff --git a/src/jobs/someJob.ts b/src/jobs/someJob.ts
index 4a760f9..707ca93 100644
--- a/src/jobs/someJob.ts
+++ b/src/jobs/someJob.ts
@@ -1,6 +1,6 @@
 import { Server as SocketServer } from 'socket.io'
 
-import { TSocket } from '#application/types'
+import type { TSocket } from '#application/types'
 
 export default class SomeJob {
   constructor(private params: any) {}
diff --git a/src/managers/httpManager.ts b/src/managers/httpManager.ts
index 5fb7085..0a7ce51 100644
--- a/src/managers/httpManager.ts
+++ b/src/managers/httpManager.ts
@@ -1,5 +1,6 @@
 import cors from 'cors'
-import { Application } from 'express'
+
+import type { Application } from 'express'
 
 import config from '#application/config'
 import { AuthController } from '#controllers/auth'
diff --git a/src/managers/mapManager.ts b/src/managers/mapManager.ts
index 564fdf5..94b4bc9 100644
--- a/src/managers/mapManager.ts
+++ b/src/managers/mapManager.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import Logger, { LoggerType } from '#application/logger'
-import { UUID } from '#application/types'
 import { Map } from '#entities/map'
 import LoadedMap from '#models/loadedMap'
 import MapCharacter from '#models/mapCharacter'
diff --git a/src/managers/queueManager.ts b/src/managers/queueManager.ts
index d76a33e..74a826b 100644
--- a/src/managers/queueManager.ts
+++ b/src/managers/queueManager.ts
@@ -4,10 +4,11 @@ import { Job, Queue, Worker } from 'bullmq'
 import IORedis from 'ioredis'
 import { Server as SocketServer } from 'socket.io'
 
+import type { TSocket } from '#application/types'
+
 import config from '#application/config'
 import Logger, { LoggerType } from '#application/logger'
 import Storage from '#application/storage'
-import { TSocket } from '#application/types'
 import SocketManager from '#managers/socketManager'
 
 class QueueManager {
diff --git a/src/managers/socketManager.ts b/src/managers/socketManager.ts
index 241d39c..8b4d9b5 100644
--- a/src/managers/socketManager.ts
+++ b/src/managers/socketManager.ts
@@ -2,12 +2,13 @@ import fs from 'fs'
 import { Server as HTTPServer } from 'http'
 import { pathToFileURL } from 'url'
 
-import { Application } from 'express'
 import { Server as SocketServer } from 'socket.io'
 
+import type { TSocket, UUID } from '#application/types'
+import type { Application } from 'express'
+
 import Logger, { LoggerType } from '#application/logger'
 import Storage from '#application/storage'
-import { TSocket, UUID } from '#application/types'
 import { Authentication } from '#middleware/authentication'
 
 class SocketManager {
diff --git a/src/middleware/authentication.ts b/src/middleware/authentication.ts
index 9ef7feb..e703102 100644
--- a/src/middleware/authentication.ts
+++ b/src/middleware/authentication.ts
@@ -1,8 +1,9 @@
 import jwt from 'jsonwebtoken'
 
+import type { TSocket } from '#application/types'
+
 import config from '#application/config'
 import Logger, { LoggerType } from '#application/logger'
-import { TSocket } from '#application/types'
 
 class SocketAuthenticator {
   private socket: TSocket
diff --git a/src/models/loadedMap.ts b/src/models/loadedMap.ts
index 1116dcf..d3e964a 100644
--- a/src/models/loadedMap.ts
+++ b/src/models/loadedMap.ts
@@ -1,4 +1,5 @@
-import { UUID } from '#application/types'
+import type { UUID } from '#application/types'
+
 import { Character } from '#entities/character'
 import { Map } from '#entities/map'
 import MapCharacter from '#models/mapCharacter'
diff --git a/src/models/mapCharacter.ts b/src/models/mapCharacter.ts
index 2ae2b4c..efff135 100644
--- a/src/models/mapCharacter.ts
+++ b/src/models/mapCharacter.ts
@@ -1,9 +1,9 @@
 import { Server } from 'socket.io'
 
-import { TSocket, UUID } from '#application/types'
+import type { TSocket, UUID } from '#application/types'
+
 import { Character } from '#entities/character'
 import MapManager from '#managers/mapManager'
-import SocketManager from '#managers/socketManager'
 import TeleportService from '#services/characterTeleportService'
 
 class MapCharacter {
diff --git a/src/repositories/characterHairRepository.ts b/src/repositories/characterHairRepository.ts
index 5128703..41f94e9 100644
--- a/src/repositories/characterHairRepository.ts
+++ b/src/repositories/characterHairRepository.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseRepository } from '#application/base/baseRepository'
-import { UUID } from '#application/types'
 import { CharacterHair } from '#entities/characterHair'
 
 class CharacterHairRepository extends BaseRepository {
diff --git a/src/repositories/characterRepository.ts b/src/repositories/characterRepository.ts
index bfde58a..b16ca72 100644
--- a/src/repositories/characterRepository.ts
+++ b/src/repositories/characterRepository.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseRepository } from '#application/base/baseRepository'
-import { UUID } from '#application/types'
 import { Character } from '#entities/character'
 
 class CharacterRepository extends BaseRepository {
diff --git a/src/repositories/characterTypeRepository.ts b/src/repositories/characterTypeRepository.ts
index a99b684..599fcdb 100644
--- a/src/repositories/characterTypeRepository.ts
+++ b/src/repositories/characterTypeRepository.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseRepository } from '#application/base/baseRepository'
-import { UUID } from '#application/types'
 import { CharacterType } from '#entities/characterType'
 
 class CharacterTypeRepository extends BaseRepository {
diff --git a/src/repositories/chatRepository.ts b/src/repositories/chatRepository.ts
index 6beb721..0ec19ad 100644
--- a/src/repositories/chatRepository.ts
+++ b/src/repositories/chatRepository.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseRepository } from '#application/base/baseRepository'
-import { UUID } from '#application/types'
 import { Chat } from '#entities/chat'
 
 class ChatRepository extends BaseRepository {
diff --git a/src/repositories/itemRepository.ts b/src/repositories/itemRepository.ts
index e891dc4..d47e06b 100644
--- a/src/repositories/itemRepository.ts
+++ b/src/repositories/itemRepository.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseRepository } from '#application/base/baseRepository'
-import { UUID } from '#application/types'
 import { Item } from '#entities/item'
 
 class ItemRepository extends BaseRepository {
diff --git a/src/repositories/mapEventTileRepository.ts b/src/repositories/mapEventTileRepository.ts
index a6922a2..ea0cbf4 100644
--- a/src/repositories/mapEventTileRepository.ts
+++ b/src/repositories/mapEventTileRepository.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseRepository } from '#application/base/baseRepository'
-import { UUID } from '#application/types'
 import { MapEventTile } from '#entities/mapEventTile'
 
 class MapEventTileRepository extends BaseRepository {
diff --git a/src/repositories/mapObjectRepository.ts b/src/repositories/mapObjectRepository.ts
index e4c64b5..0364926 100644
--- a/src/repositories/mapObjectRepository.ts
+++ b/src/repositories/mapObjectRepository.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseRepository } from '#application/base/baseRepository'
-import { UUID } from '#application/types'
 import { MapObject } from '#entities/mapObject'
 
 class MapObjectRepository extends BaseRepository {
diff --git a/src/repositories/mapRepository.ts b/src/repositories/mapRepository.ts
index 92928da..0b313e9 100644
--- a/src/repositories/mapRepository.ts
+++ b/src/repositories/mapRepository.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseRepository } from '#application/base/baseRepository'
-import { UUID } from '#application/types'
 import { Map } from '#entities/map'
 import { MapEventTile } from '#entities/mapEventTile'
 
diff --git a/src/repositories/passwordResetTokenRepository.ts b/src/repositories/passwordResetTokenRepository.ts
index 2be1e2f..b14c7f5 100644
--- a/src/repositories/passwordResetTokenRepository.ts
+++ b/src/repositories/passwordResetTokenRepository.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseRepository } from '#application/base/baseRepository'
-import { UUID } from '#application/types'
 import { PasswordResetToken } from '#entities/passwordResetToken'
 
 class PasswordResetTokenRepository extends BaseRepository {
diff --git a/src/repositories/spriteRepository.ts b/src/repositories/spriteRepository.ts
index 8da8294..5bb69d1 100644
--- a/src/repositories/spriteRepository.ts
+++ b/src/repositories/spriteRepository.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseRepository } from '#application/base/baseRepository'
-import { UUID } from '#application/types'
 import { Sprite } from '#entities/sprite'
 
 class SpriteRepository extends BaseRepository {
diff --git a/src/repositories/tileRepository.ts b/src/repositories/tileRepository.ts
index 6147bdc..97c2ba3 100644
--- a/src/repositories/tileRepository.ts
+++ b/src/repositories/tileRepository.ts
@@ -1,7 +1,6 @@
-import { FilterValue } from '@mikro-orm/core'
+import type { UUID } from '#application/types'
 
 import { BaseRepository } from '#application/base/baseRepository'
-import { UUID } from '#application/types'
 import { unduplicateArray } from '#application/utilities'
 import { Map } from '#entities/map'
 import { Tile } from '#entities/tile'
diff --git a/src/repositories/userRepository.ts b/src/repositories/userRepository.ts
index 3f25d97..73e21b1 100644
--- a/src/repositories/userRepository.ts
+++ b/src/repositories/userRepository.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseRepository } from '#application/base/baseRepository'
-import { UUID } from '#application/types'
 import { User } from '#entities/user'
 
 class UserRepository extends BaseRepository {
diff --git a/src/server.ts b/src/server.ts
index 02a0b36..8d76d28 100644
--- a/src/server.ts
+++ b/src/server.ts
@@ -2,7 +2,9 @@ import 'reflect-metadata'
 import { createServer as httpServer, Server as HTTPServer } from 'http'
 
 import cors from 'cors'
-import express, { Application } from 'express'
+import express from 'express'
+
+import type { Application } from 'express'
 
 import config from '#application/config'
 import Database from '#application/database'
diff --git a/src/services/characterAttackService.ts b/src/services/characterAttackService.ts
index 30a1859..75d5c1b 100644
--- a/src/services/characterAttackService.ts
+++ b/src/services/characterAttackService.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseService } from '#application/base/baseService'
-import { UUID } from '#application/types'
 import MapManager from '#managers/mapManager'
 import SocketManager from '#managers/socketManager'
 
diff --git a/src/services/characterTeleportService.ts b/src/services/characterTeleportService.ts
index 3762ea9..6941b78 100644
--- a/src/services/characterTeleportService.ts
+++ b/src/services/characterTeleportService.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import Logger, { LoggerType } from '#application/logger'
-import { UUID } from '#application/types'
 import { Character } from '#entities/character'
 import MapManager from '#managers/mapManager'
 import SocketManager from '#managers/socketManager'
diff --git a/src/services/chatService.ts b/src/services/chatService.ts
index 02a1f4c..43a64f6 100644
--- a/src/services/chatService.ts
+++ b/src/services/chatService.ts
@@ -1,5 +1,6 @@
+import type { UUID } from '#application/types'
+
 import { BaseService } from '#application/base/baseService'
-import { UUID } from '#application/types'
 import { Chat } from '#entities/chat'
 import SocketManager from '#managers/socketManager'
 import CharacterRepository from '#repositories/characterRepository'
diff --git a/tsconfig.json b/tsconfig.json
index b51ea27..dba5394 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,24 +1,27 @@
 {
   "compilerOptions": {
-    // Enable latest features
-    "lib": ["ESNext"],
-    "target": "ESNext",
-    "module": "ESNext",
-    "moduleResolution": "node",
-    "declaration": true,
-    "noImplicitAny": true,
-    "isolatedModules": true,
-    "sourceMap": true,
-
-    // Best practices
-    "strict": true,
+    // Base options
+    "esModuleInterop": true,
     "skipLibCheck": true,
-    "noFallthroughCasesInSwitch": true,
+    "allowJs": true,
+    "resolveJsonModule": true,
+    "moduleDetection": "force",
+    "isolatedModules": true,
+    "verbatimModuleSyntax": true,
+    "lib": ["es2022"],
+    "target": "es2022",
 
-    // Output
+    // Strictness
+    "strict": true,
+    "noUncheckedIndexedAccess": true,
+    "noImplicitOverride": true,
+
+    // Transpiling with TypeScript
+    "module": "NodeNext",
     "baseUrl": "./src",
     "rootDir": "./src",
     "outDir": "./dist",
+    "sourceMap": true,
 
     "paths": {
       "#root/*": ["./*"],
@@ -39,7 +42,6 @@
     "typeRoots": ["./node_modules/@types"],
 
     // Other options
-    "esModuleInterop": true,
     "forceConsistentCasingInFileNames": true,
     "experimentalDecorators": true,
     "emitDecoratorMetadata": true,