anchor.diff:  handle_cast({{update, Urls}, ReplyTo}, #state{data = deleted} = S) ->
       handle_cast({{put, urls, Urls}, ReplyTo}, S);
   
  -handle_cast({{update, Urls}, ReplyTo}, #state{data = D} = S) ->
  -    % XXX: decompress data here!
  -    case parse_tagurls(D) of
  -        {error, _} = E ->
  -            send_replies(ReplyTo, E),
  -            {noreply, S, S#state.timeout};
  -        {ok, OldUrls} ->
  -            case validate_urls(Urls) of
  -                true ->
  -                    handle_cast({{put, urls, Urls ++ OldUrls}, ReplyTo}, S);
  -                false ->
  -                    send_replies(ReplyTo, {error, invalid_url_object}),
  -                    {noreply, S, S#state.timeout}
  -            end
  +handle_cast({{update, Urls}, ReplyTo}, #state{data = C} = S) ->
  +    case validate_urls(Urls) of
  +        true ->
  +            handle_cast({{put, urls, Urls ++ C#tagcontent.urls}, ReplyTo}, S);
  +        false ->
  +            send_replies(ReplyTo, {error, invalid_url_object}),
  +            {noreply, S, S#state.timeout}
       end;
   
   handle_cast({{put, Field, Value}, ReplyTo}, S) ->
  
positive.code: handle_cast({die, _}, S) ->
      {stop, normal, S};
  
  handle_cast({get, ReplyTo}, S) ->
      gen_server:reply(ReplyTo, S#state.data),
      {noreply, S, S#state.timeout};
  
negative.code:         [] ->
              {error, commit_failed};
          Urls ->
              {ok, Nodes, Urls, TagContent}
      end.
  
  is_tag_deleted(<<"+deleted">>) -> false;
  