anchor.diff:  
   		addArena(mob/Player/p1, mob/Player/p2)
   			if(!arenas) arenas = list()
  -			arenas += new /arena (p1, p2)
  +
  +			var/arena/a
  +			if(unusedArenas && unusedArenas.len)
  +				a = unusedArenas[1]
  +				unusedArenas -= a
  +				a.config(p1, p2, TRUE)
  +			else
  +				a = new (p1, p2)
  +			arenas += a
   
   		removeArena(arena/a)
   			arenas -= a
   			if(!arenas.len) arenas = null
  +
  +			if(!unusedArenas)
  +				unusedArenas = list(a)
  +			else if(unusedArenas.len < ARENA_POOL_SIZE)
  +				unusedArenas += a
  +			else
  +				. = 1
   
   		isReconnect(mob/Player/p)
   
  
positive.code: 			spectateObj.updateName()
  
  		loadArena()
  			arena = SwapMaps_CreateFromTemplate("arena1")
  			arena.used = 1
  
  			timer       = locate("arenaTimer")
  			team1.timer = locate("arenaTeam1Timer")
  			team2.timer = locate("arenaTeam2Timer")
  			scoreboard  = locate("arenaScoreboard")
  
  			timer.tag       = null
  			team1.timer.tag = null
  			team2.timer.tag = null
  			scoreboard.tag  = null
  
  			team1.timer.invisibility = 3
  			team2.timer.invisibility = 3
  
negative.code: var/const
  	WINS_REQ        = 10
  	RANK_LIMIT      = 350
  	START_RATING    = 500
  	ARENA_POOL_SIZE = 5
  
  var/list/duel_chairs = list()
  
  