anchor.diff:          {empty, Waiting2} ->
               Busy2 = State#state.busy -- [Worker],
               Free2 = [Worker | State#state.free];
  -        {{value, {Pid, _} = From}, Waiting2} ->
  -            monitor_use(Pid, Worker, Callers),
  +        {{value, From}, Waiting2} ->
  +            monitor_client(Callers, Worker, From),
               gen_server:reply(From, {ok, Worker}),
               Busy2 = State#state.busy,
               Free2 = State#state.free
  
positive.code:    end.
  
  handle_info({'EXIT', Pid, _Reason}, #state{busy = Busy, free = Free, waiting = Waiting, callers = Callers} = State) ->
      demonitor_worker(Callers,Pid),
      case Free -- [Pid] of
      Free ->
          case Busy -- [Pid] of
  
negative.code:             case queue:out(Waiting) of
              {empty, _} ->
                  {noreply, State#state{busy = Busy2}};
              {{value, From}, Waiting2} ->
                  {ok, Worker} = ibrowse:spawn_link_worker_process(State#state.url),
                  monitor_client(Callers, Worker, From),
                  gen_server:reply(From, {ok, Worker}),
                  {noreply, State#state{busy = [Worker | Busy2], waiting = Waiting2}}
              end
  