Gamemode troubles

First off on my problems I am trying to set running speed for each of my teams and it does not seem to be working,
here is my code.

function GM:PlayerSpawn( ply, ent )
    self.BaseClass:PlayerSpawn( ply, ent )   
    if ply:Team() == 1 then
		ply:SetGravity( 1, true )  
		ply:SetMaxHealth( 100, true )  
		ply:SetHealth( 100, newHealth )
		ply:SetWalkSpeed( 175, newWalkSpeed, true )  
		ply:SetRunSpeed ( 200, newRunSpeed, true )
	if ply:Team() == 2 then
		ply:SetGravity( 1, true )
		ply:SetMaxHealth( 700,  true )
		ply:SetHealth( 700, newHealth, true )
		ply:SetWalkSpeed( 100, newWalkSpeed, true )
		ply:SetRunSpeed( 125, newRunSpeed, true ) 

Also I am going to start working on my spawn systems for each team, could anyone point me to a good guide to start with.

Thanks in advance!

I’d suggest you use a different player class for each team. Wiki has an article for this I believe.

I was hoping you guys weren’t going to say that XD
but I knew I would have to do it eventually.