anchor.diff:  
   -spec run(atom(), fun(), fun(), term()) -> {ok, term()}.
   run(insert, KeyGen, ValueGen, State) ->
  -    insert_or_update(KeyGen, ValueGen, State);
  +    {NextHost, S2} = next_host(State),
  +    ConnInfo = NextHost,
  +    case insert(KeyGen, ValueGen, ConnInfo) of
  +        ok ->
  +            {ok, S2};
  +        {Error, Reason} ->
  +            {Error, Reason, S2}
  +    end;
   run(update, KeyGen, ValueGen, State) ->
  -    insert_or_update(KeyGen, ValueGen, State);
  +    Bucket = "test",
  +    {NextHost, S2} = next_host(State),
  +    {Host, Port} = NextHost,
  +    Key = KeyGen(),
  +    Url = url(Host, Port, Bucket, Key),
  +    case do_get({Host, Port}, Url, []) of
  +        ok ->
  +            case insert(KeyGen, ValueGen, {Host, Port}) of
  +                ok ->
  +                    {ok, State};
  +                {Error, Reason} ->
  +                    {Error, Reason, S2}
  +            end;
  +        {Error, Reason} ->
  +            {Error, Reason, S2}
  +    end;
   run(delete, KeyGen, _ValueGen, State) ->
       Bucket = "test",
       {NextHost, S2} = next_host(State),
       {Host, Port} = NextHost,
       Key = KeyGen(),
       Url = url(Host, Port, Bucket, Key),
  -    do_delete({Host, Port}, Url, []),
  -    {ok, S2};
  +    case do_delete({Host, Port}, Url, []) of
  +        ok ->
  +            {ok, S2};
  +        {Error, Reason} ->
  +            {Error, Reason, S2}
  +    end;
   run(get, KeyGen, _ValueGen, State) ->
       Bucket = "test",
       {NextHost, S2} = next_host(State),
       {Host, Port} = NextHost,
       Key = KeyGen(),
       Url = url(Host, Port, Bucket, Key),
  -    do_get({Host, Port}, Url, []),
  -    {ok, S2};
  +    case do_get({Host, Port}, Url, []) of
  +        ok ->
  +            {ok, S2};
  +        {Error, Reason} ->
  +            {Error, Reason, S2}
  +    end;
   run(_Operation, _KeyGen, _ValueGen, State) ->
       {ok, State}.
   
  
positive.code:                       delete, <<>>, [{response_format, binary}]) of
          {ok, "200", _Header, _Body} ->
              ok;
          {ok, Code, _Header, _Body} ->
              {error, {http_error, Code}};
          {error, Reason} ->
  
negative.code: %% Internal functions
  %% ====================================================================
  
  insert(KeyGen, ValueGen, {Host, Port}) ->
      %% TODO:
      %% bucket needs to be
      %% configurable/generatable
      Bucket = "test",
      Key = KeyGen(),
      Url = url(Host, Port, Bucket, Key),
      Value = ValueGen(),
      do_put({Host, Port}, Url, [], Value).
  
  url(Host, Port, Bucket, Key) ->
      UnparsedUrl = lists:concat(["http://", Host, ":", Port, "/", Bucket, "/", Key]),
  