anchor.diff:  		else
   			alert("You cannot perform this action. You must be of a higher administrative rank!")
   			return
  +
  +	if(href_list["add_player_info"])
  +		var/key = href_list["add_player_info"]
  +		var/add = input("Add Player Info") as null|text
  +		if(!add) return
  +
  +		var/savefile/info = new("data/player_saves/[copytext(key, 1, 2)]/[key]/info.sav")
  +		var/list/infos
  +		info >> infos
  +		if(!infos) infos = list()
  +
  +		var/datum/player_info/P = new
  +		P.author = usr.key
  +		P.content = add
  +
  +		infos += P
  +
  +		info << infos
  +
  +		del info
  +
  +		show_player_info(key)
  +
  +	if(href_list["remove_player_info"])
  +		var/key = href_list["remove_player_info"]
  +		var/index = text2num(href_list["remove_index"])
  +
  +		var/savefile/info = new("data/player_saves/[copytext(key, 1, 2)]/[key]/info.sav")
  +		var/list/infos
  +		info >> infos
  +		if(!infos || infos.len < index) return
  +
  +		var/datum/player_info/item = infos[index]
  +		infos.Remove(item)
  +		info << infos
  +
  +		del info
  +
  +		show_player_info(key)
  +
  +
   
   	/////////////////////////////////////new ban stuff
   	if(href_list["unbanf"])
  
positive.code: 					dat += "<td>Alien</td>"
  				dat += {"<td>[(M.client ? "[M.client]" : "No client")]</td>
  				<td align=center><A HREF='?src=\ref[src];adminplayeropts=\ref[M]'>X</A></td>
  				<td align=center><A href='?src=\ref[usr];priv_msg=\ref[M]'>PM</A></td>
  				"}
  				switch(is_special_character(M))
  
negative.code: 					dat += "<td>Alien</td>"
  				dat += {"<td>[M.client?"[M.client]":"No client"]</td>
  				<td align=center><A HREF='?src=\ref[src];adminplayeropts=\ref[M]'>X</A></td>
  				<td align=center><A HREF='?src=\ref[src];player_info=[M.ckey]'>X</A></td>
  				<td align=center><A href='?src=\ref[usr];priv_msg=\ref[M]'>PM</A></td>
  				"}
  				switch(is_special_character(M))
  