function skin.init()

 function skin.torso(r,g,b)
  if AUTH then
   skin.torso_command(r,g,b,LOCAL_PLAYER_1_OR_STH)
  else
   skin.torso_request(r,g,b,LOCAL_PLAYER_1_OR_STH)
  end
 end

 local torso_request = network_player_event("torso_request",function(self,player,data)
  if AUTH then
   r = data:get_int()
   g = data:get_int()
   b = data:get_int()
   skin.torso_command(r,g,b,player)
  end
 )

 function skin.torso_request(r,g,b,player)
  local data = new_bitstream()
  data:add_int(r)
  data:add_int(g)
  data:add_int(b)
  torso_request:send(player,data)
 end

 local torso_command = network_player_event("torso_command",function(self,player,data)
  if AUTH then
   r = data:get_int()
   g = data:get_int()
   b = data:get_int()
   player:data().torso_r = r
   player:data().torso_g = g
   player:data().torso_b = b
  end
 )

 function skin.torso_command(r,g,b,player)
  local data = new_bistream()
  data:add_int(r)
  data:add_int(g)
  data:add_int(b)
  torso_command:send(player,data)
 end


 console_register_command("le_torso",skin.torso)
 console_register_command("le_legs",skin.legs)

end