anchor.diff:        Pieces),
       {reply, ok, S};
   handle_call({chunk, Id, Idx, N}, _From, S) ->
  -    [P] = ets:lookup(etorrent_piece_tbl, {Id, Idx}),
  -    ets:insert(etorrent_piece_tbl, P#piece { state = chunked, left = N}),
  +    [P] = ets:lookup(?TAB, {Id, Idx}),
  +    ets:insert(?TAB, P#piece { state = chunked, left = N}),
       {reply, ok, S};
   handle_call({decrease_missing, Id, Idx}, _From, S) ->
  -    case ets:update_counter(etorrent_piece_tbl, {Id, Idx},
  +    case ets:update_counter(?TAB, {Id, Idx},
                               {#piece.left, -1}) of
           0 -> {reply, full, S};
           N when is_integer(N) -> {reply, ok, S}
       end;
   handle_call({statechange, Id, Idx, State}, _From, S) ->
  -    [P] = ets:lookup(etorrent_piece_tbl, {Id, Idx}),
  -    ets:insert(etorrent_piece_tbl, P#piece { state = State }),
  +    [P] = ets:lookup(?TAB, {Id, Idx}),
  +    ets:insert(?TAB, P#piece { state = State }),
       {reply, ok, S};
   handle_call(_Request, _From, State) ->
       Reply = ok,
  
positive.code: 
  -record(state, { monitoring }).
  -define(SERVER, ?MODULE).
  -ignore_xref([{'start_link', 0}]).
  %%====================================================================
  %% API
  
negative.code: handle_call({add_pieces, Id, Pieces}, _From, S) ->
      lists:foreach(
        fun({PN, Hash, Files, State}) ->
                ets:insert(?TAB,
                           #piece { idpn = {Id, PN},
                                    id = Id,
                                    piece_number = PN,
  