Error with loading classes with team.SetClass

I’m quite new to developing addons in gmod and I am trying a to make a gamemode for fun however, I ran into a problem that doesn’t give a console error. I have made a class in “playerclasses/class_monster.lua” but its not loading.
Here’s the shared.lua



DeriveGamemode("base")

include("sh_config.lua")
include("playerclasses/class_monster.lua")

GM.Name = "The Monster"
GM.Author = "armedturret"
GM.Email = "N/A"
GM.Website = "N/A"

GM.TeamBased = true

function GM:CreateTeams()
	if !GAMEMODE.TeamBased then
		return
	end
	
	TEAM_MONSTERS, TEAM_POLICE, TEAM_SPECTATORS = 1,2,3
	
	team.SetUp(TEAM_MONSTERS, "Monster", Color(0, 210, 82, 255))
	team.SetSpawnPoint(TEAM_MONSTERS, {"info_player_start","info_player_terrorist", "info_player_rebel", "info_player_deathmatch", "info_player_allies","info_player_monster"})
	team.SetClass(TEAM_MONSTERS, {"monster"})
	
        --Don't worry about this right now
	team.SetUp(TEAM_POLICE, "Investigators", Color(0, 210, 82, 255))
	team.SetSpawnPoint(TEAM_POLICE, {"info_player_start","info_player_counterterrorist", "info_player_combine", "info_player_deathmatch", "info_player_axis", "info_player_police"})
	team.SetClass(TEAM_POLICE, {"player_default"})
end

Here’s the init.lua



AddCSLuaFile("shared.lua")
AddCSLuaFile("sh_config.lua")
AddCSLuaFile("cl_init.lua")
AddCSLuaFile("playerclasses/class_monster.lua")

include("shared.lua")

function GM:PlayerInitialSpawn(ply)
	ply:SetTeam(1)
end

I’ve rigged a console message to be said but its not working and double checked with other gamemodecode. Please halp.