diff --git a/src/app/channel/channelManager.js b/src/app/channel/channelManager.js
index ebb886d..4c2e228 100644
--- a/src/app/channel/channelManager.js
+++ b/src/app/channel/channelManager.js
@@ -17,7 +17,7 @@ along with this program. If not, see .*/
//Local Imports
const channelModel = require('../../schemas/channel/channelSchema');
const emoteModel = require('../../schemas/emoteSchema');
-const {userModel} = require('../../schemas/userSchema');
+const {userModel} = require('../../schemas/user/userSchema');
const loggerUtils = require('../../utils/loggerUtils');
const activeChannel = require('./activeChannel');
const chatHandler = require('./chatHandler');
diff --git a/src/app/channel/chatHandler.js b/src/app/channel/chatHandler.js
index f485cca..39feb73 100644
--- a/src/app/channel/chatHandler.js
+++ b/src/app/channel/chatHandler.js
@@ -19,7 +19,7 @@ const commandPreprocessor = require('./commandPreprocessor');
const loggerUtils = require('../../utils/loggerUtils');
const linkUtils = require('../../utils/linkUtils');
const emoteValidator = require('../../validators/emoteValidator');
-const {userModel} = require('../../schemas/userSchema');
+const {userModel} = require('../../schemas/user/userSchema');
module.exports = class{
constructor(server){
diff --git a/src/app/channel/connectedUser.js b/src/app/channel/connectedUser.js
index 3e40868..0908687 100644
--- a/src/app/channel/connectedUser.js
+++ b/src/app/channel/connectedUser.js
@@ -19,7 +19,7 @@ const channelModel = require('../../schemas/channel/channelSchema');
const permissionModel = require('../../schemas/permissionSchema');
const flairModel = require('../../schemas/flairSchema');
const emoteModel = require('../../schemas/emoteSchema');
-const { userModel } = require('../../schemas/userSchema');
+const { userModel } = require('../../schemas/user/userSchema');
module.exports = class{
constructor(userDB, chanRank, channel, socket){
diff --git a/src/app/channel/tokebot.js b/src/app/channel/tokebot.js
index 536d007..e108fb9 100644
--- a/src/app/channel/tokebot.js
+++ b/src/app/channel/tokebot.js
@@ -16,7 +16,7 @@ along with this program. If not, see .*/
//Local Imports
const tokeCommandModel = require('../../schemas/tokebot/tokeCommandSchema');
-const {userModel} = require('../../schemas/userSchema');
+const {userModel} = require('../../schemas/user/userSchema');
const statModel = require('../../schemas/statSchema');
const statSchema = require('../../schemas/statSchema');
diff --git a/src/controllers/adminPanelController.js b/src/controllers/adminPanelController.js
index d126eba..d2ed500 100644
--- a/src/controllers/adminPanelController.js
+++ b/src/controllers/adminPanelController.js
@@ -16,7 +16,7 @@ along with this program. If not, see .*/
//Config
const config = require('../../config.json');
-const {userModel} = require('../schemas/userSchema');
+const {userModel} = require('../schemas/user/userSchema');
const permissionModel = require('../schemas/permissionSchema');
const channelModel = require('../schemas/channel/channelSchema');
const {exceptionHandler, errorHandler} = require("../utils/loggerUtils");
diff --git a/src/controllers/api/account/deleteController.js b/src/controllers/api/account/deleteController.js
index e71ce3a..1bd56b5 100644
--- a/src/controllers/api/account/deleteController.js
+++ b/src/controllers/api/account/deleteController.js
@@ -18,7 +18,7 @@ along with this program. If not, see .*/
const {validationResult, matchedData} = require('express-validator');
//local imports
-const {userModel} = require('../../../schemas/userSchema');
+const {userModel} = require('../../../schemas/user/userSchema');
const accountUtils = require('../../../utils/sessionUtils');
const {exceptionHandler, errorHandler} = require('../../../utils/loggerUtils');
diff --git a/src/controllers/api/account/passwordResetController.js b/src/controllers/api/account/passwordResetController.js
index 771afbf..8195bdb 100644
--- a/src/controllers/api/account/passwordResetController.js
+++ b/src/controllers/api/account/passwordResetController.js
@@ -18,7 +18,7 @@ along with this program. If not, see .*/
const {validationResult, matchedData} = require('express-validator');
//local imports
-const passwordResetModel = require('../../../schemas/passwordResetSchema');
+const passwordResetModel = require('../../../schemas/user/passwordResetSchema');
const sessionUtils = require('../../../utils/sessionUtils');
const altchaUtils = require('../../../utils/altchaUtils');
const {exceptionHandler, errorHandler} = require('../../../utils/loggerUtils');
diff --git a/src/controllers/api/account/passwordResetRequestController.js b/src/controllers/api/account/passwordResetRequestController.js
index eced020..8502f1f 100644
--- a/src/controllers/api/account/passwordResetRequestController.js
+++ b/src/controllers/api/account/passwordResetRequestController.js
@@ -21,8 +21,8 @@ const config = require('../../../../config.json');
const {validationResult, matchedData} = require('express-validator');
//local imports
-const {userModel} = require('../../../schemas/userSchema');
-const passwordResetModel = require('../../../schemas/passwordResetSchema');
+const {userModel} = require('../../../schemas/user/userSchema');
+const passwordResetModel = require('../../../schemas/user/passwordResetSchema');
const mailUtils = require('../../../utils/mailUtils');
const altchaUtils = require('../../../utils/altchaUtils');
const {exceptionHandler, errorHandler} = require('../../../utils/loggerUtils');
diff --git a/src/controllers/api/account/registerController.js b/src/controllers/api/account/registerController.js
index e9b66c2..7e12109 100644
--- a/src/controllers/api/account/registerController.js
+++ b/src/controllers/api/account/registerController.js
@@ -21,8 +21,8 @@ const config = require('../../../../config.json');
const {validationResult, matchedData} = require('express-validator');
//local imports
-const {userModel} = require('../../../schemas/userSchema');
-const userBanModel = require('../../../schemas/userBanSchema');
+const {userModel} = require('../../../schemas/user/userSchema');
+const userBanModel = require('../../../schemas/user/userBanSchema');
const altchaUtils = require('../../../utils/altchaUtils');
const {exceptionHandler, errorHandler} = require('../../../utils/loggerUtils');
diff --git a/src/controllers/api/account/updateController.js b/src/controllers/api/account/updateController.js
index 9f65b21..37ed697 100644
--- a/src/controllers/api/account/updateController.js
+++ b/src/controllers/api/account/updateController.js
@@ -18,7 +18,7 @@ along with this program. If not, see .*/
const {validationResult, matchedData} = require('express-validator');
//local imports
-const {userModel} = require('../../../schemas/userSchema');
+const {userModel} = require('../../../schemas/user/userSchema');
const accountUtils = require('../../../utils/sessionUtils');
const {exceptionHandler, errorHandler} = require('../../../utils/loggerUtils');
diff --git a/src/controllers/api/admin/banController.js b/src/controllers/api/admin/banController.js
index bd5d85b..f42b204 100644
--- a/src/controllers/api/admin/banController.js
+++ b/src/controllers/api/admin/banController.js
@@ -18,9 +18,9 @@ along with this program. If not, see .*/
const {validationResult, matchedData} = require('express-validator');
//local imports
-const banModel = require('../../../schemas/userBanSchema');
+const banModel = require('../../../schemas/user/userBanSchema');
const permissionModel = require('../../../schemas/permissionSchema');
-const {userModel} = require('../../../schemas/userSchema');
+const {userModel} = require('../../../schemas/user/userSchema');
const {exceptionHandler, errorHandler} = require('../../../utils/loggerUtils');
module.exports.get = async function(req, res){
diff --git a/src/controllers/api/admin/changeRankController.js b/src/controllers/api/admin/changeRankController.js
index 503ec89..f3dc4d1 100644
--- a/src/controllers/api/admin/changeRankController.js
+++ b/src/controllers/api/admin/changeRankController.js
@@ -20,7 +20,7 @@ const {validationResult, matchedData} = require('express-validator');
//local imports
const {exceptionHandler, errorHandler} = require('../../../utils/loggerUtils');
const permissionModel = require('../../../schemas/permissionSchema');
-const {userModel} = require('../../../schemas/userSchema');
+const {userModel} = require('../../../schemas/user/userSchema');
//api change rank functions
module.exports.post = async function(req, res){
diff --git a/src/controllers/api/admin/listUsersController.js b/src/controllers/api/admin/listUsersController.js
index be58b48..c80b184 100644
--- a/src/controllers/api/admin/listUsersController.js
+++ b/src/controllers/api/admin/listUsersController.js
@@ -16,7 +16,7 @@ along with this program. If not, see .*/
//local imports
const {exceptionHandler, errorHandler} = require('../../../utils/loggerUtils');
-const {userModel} = require('../../../schemas/userSchema');
+const {userModel} = require('../../../schemas/user/userSchema');
//api list account functions
module.exports.get = async function(req, res){
diff --git a/src/controllers/api/admin/passwordResetController.js b/src/controllers/api/admin/passwordResetController.js
index 2c5aa88..5f13bf9 100644
--- a/src/controllers/api/admin/passwordResetController.js
+++ b/src/controllers/api/admin/passwordResetController.js
@@ -18,8 +18,8 @@ along with this program. If not, see .*/
const {validationResult, matchedData} = require('express-validator');
//local imports
-const {userModel} = require('../../../schemas/userSchema');
-const passwordResetModel = require("../../../schemas/passwordResetSchema");
+const {userModel} = require('../../../schemas/user/userSchema');
+const passwordResetModel = require("../../../schemas/user/passwordResetSchema");
const {exceptionHandler, errorHandler} = require('../../../utils/loggerUtils');
module.exports.post = async function(req, res){
diff --git a/src/controllers/api/channel/banController.js b/src/controllers/api/channel/banController.js
index 1bcda0c..ecddfeb 100644
--- a/src/controllers/api/channel/banController.js
+++ b/src/controllers/api/channel/banController.js
@@ -19,7 +19,7 @@ const {validationResult, matchedData} = require('express-validator');
//local imports
const {exceptionHandler, errorHandler} = require('../../../utils/loggerUtils');
-const {userModel} = require('../../../schemas/userSchema');
+const {userModel} = require('../../../schemas/user/userSchema');
const channelModel = require('../../../schemas/channel/channelSchema');
const permissionModel = require('../../../schemas/permissionSchema')
diff --git a/src/controllers/api/channel/rankController.js b/src/controllers/api/channel/rankController.js
index 14ed882..94a14bb 100644
--- a/src/controllers/api/channel/rankController.js
+++ b/src/controllers/api/channel/rankController.js
@@ -20,7 +20,7 @@ const {validationResult, matchedData} = require('express-validator');
//local imports
const {exceptionHandler, errorHandler} = require('../../../utils/loggerUtils');
const permissionModel = require('../../../schemas/permissionSchema');
-const {userModel} = require('../../../schemas/userSchema');
+const {userModel} = require('../../../schemas/user/userSchema');
const channelModel = require('../../../schemas/channel/channelSchema');
//api channel rank functions
diff --git a/src/controllers/api/channel/registerController.js b/src/controllers/api/channel/registerController.js
index 896342a..9d72b11 100644
--- a/src/controllers/api/channel/registerController.js
+++ b/src/controllers/api/channel/registerController.js
@@ -19,7 +19,7 @@ const {validationResult, matchedData} = require('express-validator');
//local imports
const {exceptionHandler, errorHandler} = require('../../../utils/loggerUtils');
-const {userModel} = require('../../../schemas/userSchema');
+const {userModel} = require('../../../schemas/user/userSchema');
const altchaUtils = require('../../../utils/altchaUtils');
const channelModel = require('../../../schemas/channel/channelSchema');
diff --git a/src/controllers/profileController.js b/src/controllers/profileController.js
index 4097154..5315b0c 100644
--- a/src/controllers/profileController.js
+++ b/src/controllers/profileController.js
@@ -15,7 +15,7 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .*/
//Local Imports
-const {userModel} = require('../schemas/userSchema');
+const {userModel} = require('../schemas/user/userSchema');
const {exceptionHandler, errorHandler} = require('../utils/loggerUtils');
//Config
diff --git a/src/controllers/tooltip/altListController.js b/src/controllers/tooltip/altListController.js
index b40896c..7935bb4 100644
--- a/src/controllers/tooltip/altListController.js
+++ b/src/controllers/tooltip/altListController.js
@@ -18,7 +18,7 @@ along with this program. If not, see .*/
const {validationResult, matchedData} = require('express-validator');
//local imports
-const {userModel} = require('../../schemas/userSchema');
+const {userModel} = require('../../schemas/user/userSchema');
const {exceptionHandler, errorHandler} = require('../../utils/loggerUtils');
//root index functions
diff --git a/src/schemas/channel/channelSchema.js b/src/schemas/channel/channelSchema.js
index b1ef65d..baaefd1 100644
--- a/src/schemas/channel/channelSchema.js
+++ b/src/schemas/channel/channelSchema.js
@@ -23,7 +23,7 @@ const {validationResult, matchedData} = require('express-validator');
const server = require('../../server');
//DB Models
const statModel = require('../statSchema');
-const {userModel} = require('../userSchema');
+const {userModel} = require('../user/userSchema');
const permissionModel = require('../permissionSchema');
const emoteModel = require('../emoteSchema');
//DB Schemas
diff --git a/src/schemas/permissionSchema.js b/src/schemas/permissionSchema.js
index 5cf8e5b..5e8c3d5 100644
--- a/src/schemas/permissionSchema.js
+++ b/src/schemas/permissionSchema.js
@@ -18,7 +18,7 @@ along with this program. If not, see .*/
const {mongoose} = require('mongoose');
//Local Imports
-const userModel = require('./userSchema');
+const userModel = require('./user/userSchema');
const channelPermissionSchema = require('./channel/channelPermissionSchema');
const {errorHandler} = require('../utils/loggerUtils');
diff --git a/src/schemas/passwordResetSchema.js b/src/schemas/user/passwordResetSchema.js
similarity index 97%
rename from src/schemas/passwordResetSchema.js
rename to src/schemas/user/passwordResetSchema.js
index d6e076a..dcff866 100644
--- a/src/schemas/passwordResetSchema.js
+++ b/src/schemas/user/passwordResetSchema.js
@@ -18,7 +18,7 @@ along with this program. If not, see .*/
//However, this is so rarely used the preformance benefits aren't worth the extra clutter
//Config
-const config = require('../../config.json');
+const config = require('../../../config.json');
//Node Imports
const crypto = require("node:crypto");
@@ -27,7 +27,7 @@ const crypto = require("node:crypto");
const {mongoose} = require('mongoose');
//Local Imports
-const hashUtil = require('../utils/hashUtils');
+const hashUtil = require('../../utils/hashUtils');
const daysToExpire = 7;
diff --git a/src/schemas/userBanSchema.js b/src/schemas/user/userBanSchema.js
similarity index 100%
rename from src/schemas/userBanSchema.js
rename to src/schemas/user/userBanSchema.js
diff --git a/src/schemas/userSchema.js b/src/schemas/user/userSchema.js
similarity index 98%
rename from src/schemas/userSchema.js
rename to src/schemas/user/userSchema.js
index 4019baa..ea6d1f7 100644
--- a/src/schemas/userSchema.js
+++ b/src/schemas/user/userSchema.js
@@ -14,20 +14,22 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .*/
+//Node Imports
+const { profile } = require('console');
+
//NPM Imports
const {mongoose} = require('mongoose');
//local imports
//server
-const server = require('../server');
+const server = require('../../server');
//DB Models
-const statModel = require('./statSchema');
-const flairModel = require('./flairSchema');
-const permissionModel = require('./permissionSchema');
-const emoteModel = require('./emoteSchema');
+const statModel = require('../statSchema');
+const flairModel = require('../flairSchema');
+const permissionModel = require('../permissionSchema');
+const emoteModel = require('../emoteSchema');
//Utils
-const hashUtil = require('../utils/hashUtils');
-const { profile } = require('console');
+const hashUtil = require('../../utils/hashUtils');
const userSchema = new mongoose.Schema({
diff --git a/src/utils/scheduler.js b/src/utils/scheduler.js
index 9e9ee6a..fd66445 100644
--- a/src/utils/scheduler.js
+++ b/src/utils/scheduler.js
@@ -18,9 +18,9 @@ along with this program. If not, see .*/
const cron = require('node-cron');
//Local Imports
-const {userModel} = require('../schemas/userSchema');
-const userBanModel = require('../schemas/userBanSchema');
-const passwordResetModel = require('../schemas/passwordResetSchema');
+const {userModel} = require('../schemas/user/userSchema');
+const userBanModel = require('../schemas/user/userBanSchema');
+const passwordResetModel = require('../schemas/user/passwordResetSchema');
const channelModel = require('../schemas/channel/channelSchema');
const sessionUtils = require('./sessionUtils');
diff --git a/src/utils/sessionUtils.js b/src/utils/sessionUtils.js
index dc4d853..17896dd 100644
--- a/src/utils/sessionUtils.js
+++ b/src/utils/sessionUtils.js
@@ -15,8 +15,8 @@ You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .*/
//local imports
-const {userModel} = require('../schemas/userSchema');
-const userBanModel = require('../schemas/userBanSchema')
+const {userModel} = require('../schemas/user/userSchema');
+const userBanModel = require('../schemas/user/userBanSchema')
const altchaUtils = require('../utils/altchaUtils');
//Create failed sign-in cache since it's easier and more preformant to implement it this way than adding extra burdon to the database