anchor.diff:  
   init([TorrentID, RelPath, FullPath]) ->
       {ok, DirPid} = etorrent_io:await_directory(TorrentID),
  -    DirMonitor = etorrent:monitor(process, DirPid),
  +    DirMonitor = erlang:monitor(process, DirPid),
       _ = etorrent_io:register_file_server(TorrentID, RelPath),
       InitState = #state{
           torrent=TorrentID,
           handle=closed,
           relpath=RelPath,
           fullpath=FullPath,
  -        dir_monitor=DirMonitor},
  +        dir_monitor=DirMonitor,
  +        await_ref=none},
       {ok, InitState}.
   
   handle_call({read, _, _}, _, State) when State#state.handle == closed ->
  
positive.code:     NewState = #state{handle=closed},
      {noreply, NewState}.
  
  handle_info({'DOWN', Dir, _, _, _}, State) when Dir== State#state.dir_monitor ->
      #state{handle=Handle} = State,
      case Handle of
          closed ->
              {noreply, State};
          Handle ->
              NewState = State#state{handle=closed},
              {noreply, NewState}
      end.
  
  terminate(_, _) ->
      not_implemented.
  
negative.code:     NewState = State#state{handle=Handle},
      {noreply, NewState};
  
  handle_cast(close, State) when State#state.dir_monitor =/= none ->
      #state{
          torrent=Torrent,
          handle=Handle,
  