anchor.diff:  send_to(To, {Tag, Msg, From}, _Other)->
     send_to(To, {Tag, Msg, From}).
   
  --spec add_counter(CounterName::counter_name(), Value::counter_val())-> no_return().
  -increment_counter(CounterName, Value) ->
  -	bh_perf::increment
  +-spec add_counter(CounterName::counter_name())-> no_return().
  +increment_counter(CounterName) ->
  +  bh_perf::increment_hit_counter(CounterName).
   	
    
   
  
positive.code: %% defined by routing_parameter tphen starting a proxy handler proxy
  %% process and finally passing the socket to the proxy handler process
  pass_on_to_proxy(ClientSock) ->
  	pass_on_to_proxy(ClientSock, 'no_debug').
  
  pass_on_to_proxy(ClientSock, 'debug') ->
  	pass_on_to_proxy(ClientSock, 'debug');
  
  pass_on_to_proxy(ClientSock, Debug) ->
    %% Chose here the type of response... for now, it'll just be http,
    %% but in the future... maybe tcp/udp?
    {ok, ProxyPid} = ?SUP:start_client(ClientSock),
    gen_tcp:controlling_process(ClientSock, ProxyPid),
  
negative.code: %% request in this process so that we are never blocking the socket
  %% server
  accept(LSock) ->
    
    case gen_tcp:accept(LSock) of
      {ok, ClientSock} ->
        spawn(fun() -> pass_on_to_proxy(ClientSock) end), %TODO: debug
  	    accept(LSock);
      Error ->
        ?LOG(error, "There was an error accepting the socket ~p: ~p",
             [LSock, Error]),
        exit(Error)
    end.
  
  %% Take the socket and decode the routing key from the packet. For
  