anchor.diff:  	?INFO("Starting RSS downloader worker for URL ~p in time ~p", [Url, RandStartTime]),
   	erlang:send_after(RandStartTime * 1000, self(), {rss_update}),
       {ok, 
  -	#state{url = Url, repeat_time = RepeatTime * 1000}}.
  -
  -
  -%% callbacks
  +	#state{url=Url, repeat_time=RepeatTime * 1000, etag=none, last_modified=none}}.
   
   
   handle_call(_Request, _From, State) ->
  
positive.code:     {noreply, State}.
  
  handle_info({rss_update}, State) ->
  	process_rss(State),
  	erlang:send_after(State#state.repeat_time, self(), {rss_update}),
  	{noreply, State};
  
  handle_info(_Info, State) ->
      {noreply, State}.
  
negative.code: 
  -behaviour(gen_server).
  
  
  %% --------------------------------------------------------------------
  %% Include files
  %% --------------------------------------------------------------------
  
  -include("snp_logging.hrl").
  -include("snp_rss_item.hrl").
  
  -ifdef(TEST).
  -include_lib("eunit/include/eunit.hrl").
  -endif.
  
  
  %% --------------------------------------------------------------------
  %% External exports
  
  -export([start_link/3, create/3]).
  
  %% gen_server callbacks
  -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
      terminate/2, code_change/3]).
  
  
  -define(START_DELAY_MAX, 4000).
  
  -record(state, {url, repeat_time, etag, last_modified}).
  
  
  %% ====================================================================
  %% External functions
  %% ====================================================================
  
  start_link(Url, RepeatTime, Index) ->
  	gen_server:start_link(?MODULE, [Url, RepeatTime, Index], []).
  
  create(Url, RepeatTime, Index) ->
  	snp_rss_parse_sup:start_child(Url, RepeatTime, Index).
  
  
  %% ====================================================================
  %% Server functions
  %% ====================================================================
  
  %% RepeatTime is passed in seconds
  init([Url, RepeatTime, Index]) ->
  