anchor.diff:  %% Description: Handling cast messages
   %%--------------------------------------------------------------------
   handle_cast(start_now, S) ->
  -    Body = contact_tracker(S, "started"),
  +    {ok, Body} = contact_tracker(S, "started"),
       {ok, NextRequestTime, NS} = decode_and_handle_body(Body, S),
       {noreply, NS, timer:seconds(NextRequestTime)};
   handle_cast(torrent_completed, S) ->
  -    Body = contact_tracker(S, "completed"),
  +    {ok, Body} = contact_tracker(S, "completed"),
       {ok, NextRequestTime, NS} = decode_and_handle_body(Body, S),
       {noreply, NS, timer:seconds(NextRequestTime)}.
   
  
positive.code: 	        control_pid = none}).
  
  -define(DEFAULT_REQUEST_TIMEOUT, 180).
  
  %%====================================================================
  %% API
  
negative.code: %% Description: Handling all non call/cast messages
  %%--------------------------------------------------------------------
  handle_info(timeout, S) ->
      case contact_tracker(S, none) of
  	{ok, Body} ->
  	    {ok, NextRequestTime, NS} = decode_and_handle_body(Body, S),
  	    {noreply, NS, timer:seconds(NextRequestTime)};
  	{error, timedout} ->
  	    {noreply, S, timer:seconds(?DEFAULT_CONNECTION_TIMEOUT_INTERVAL)}
      end;
  handle_info(Info, State) ->
      io:format("got info: ~p~n", [Info]),
      {noreply, State}.
  