anchor.diff:  %%                                       {stop, Reason, State}
   %% Description: Handling all non call/cast messages
   %%--------------------------------------------------------------------
  -handle_info({'DOWN', _Ref, process, Pid, _Reason}, S) ->
  -    case dict:find(Pid, S#state.piece_assignment) of
  -	{ok, Assignment} ->
  -	    Missing = lists:foldl(fun(Pn, Missing) ->
  -					  sets:add_element(Pn, Missing)
  -				  end,
  -				  S#state.piece_setorrent_missing,
  -				  Assignment),
  -	    Assignments = dict:erase(Pid, S#state.piece_assignment),
  -	    {noreply, S#state{piece_setorrent_missing = Missing,
  -			      piece_assignment  = Assignments}};
  -	error ->
  -	    {noreply, S}
  -    end;
   handle_info(_Info, State) ->
       {noreply, State}.
   
  
positive.code:     {reply, ok, S#state{histogram = NewH}};
  handle_call({request_new_piece, _}, _, S) when S#state.endgame =:= true ->
      {reply, endgame, S};
  handle_call({request_new_piece, PeerPieces}, {From, _Tag}, S) ->
      EligiblePieces = sets:intersection(PeerPieces, S#state.piece_setorrent_missing),
      case etorrent_utils:sets_is_empty(EligiblePieces) of
  	true ->
  
negative.code: %%                                      {stop, Reason, State}
  %% Description: Handling call messages
  %%--------------------------------------------------------------------
  handle_call({got_piece_from_peer, _Pn, DataSize}, _From, S) ->
      Left = S#state.left - DataSize,
      case Left == 0 of
  	true ->
  