anchor.diff:  		none ->
   		    {reply, no_pieces, S};
   		PieceNum ->
  +		    PieceSize = find_piece_size(PieceNum, S),
   		    Missing = sets:del_element(PieceNum,
   					       S#state.piece_set_missing),
   		    erlang:monitor(process, From),
   		    Assignments =
   			dict:update(From, fun(L) -> [PieceNum | L] end,
   				    [PieceNum], S#state.piece_assignment),
  -		    {reply, {ok, PieceNum},
  +		    {reply, {ok, PieceNum, PieceSize},
   		     S#state{piece_set_missing = Missing,
   			     piece_assignment = Assignments}}
   	    end
  
positive.code: 		piece_assignment = none,
  		piece_size = 0,
  	        num_pieces = 0,
  
  	        histogram = none}).
  
  
negative.code: %%--------------------------------------------------------------------
  init([DiskState, PieceSize]) ->
      {PieceSet, Missing, Size} = convert_diskstate_to_set(DiskState),
      AmountLeft = calculate_amount_left(DiskState),
      {ok, #state{piece_set = PieceSet,
  		piece_set_missing = Missing,
  		piece_assignment = dict:new(),
  		num_pieces = Size,
  		piece_size = PieceSize,
  		histogram = histogram:new(),
  		torrent_size = AmountLeft,
  	        left = AmountLeft}}.
  
  %%--------------------------------------------------------------------
  %% Function: %% handle_call(Request, From, State) -> {reply, Reply, State} |
  