anchor.diff:  
       % N fastest interesteds should be kept
       {Downloaders, Rest} =
  -	find_fastest_downloaders(?DEFAULT_NUM_DOWNLOADERS,
  -			   Interested),
  +	find_fastest_peers(?DEFAULT_NUM_DOWNLOADERS,
  +			   Interested, S),
       unchoke_peers(Downloaders),
   
       % All peers not interested should be unchoked
  
positive.code: 		  end,
  		  S).
  
  find_fastest_downloaders(N, Interested) ->
      List = lists:sort(
  	     fun ({_K1, PI1}, {_K2, PI2}) ->
  		     PI1#peer_info.downloaded > PI2#peer_info.downloaded
  	     end,
  	     dict:to_list(Interested)),
      PidList = lists:map(fun({K, _V}) -> K end, List),
      SplitPoint = lists:min([length(PidList), N]),
      {Downloaders, Rest} = lists:split(SplitPoint, PidList),
      {Downloaders, Rest}.
  
  unchoke_peers(Pids) ->
      lists:foreach(fun(P) -> torrent_peer:unchoke(P) end, Pids),
  
negative.code: 		round = 0,
  
  	        state_pid = none,
  	        file_system_pid = none,
  
  	        mode = leeching}).
  
  -record(peer_info, {uploaded = 0,
  		    downloaded = 0,
  