anchor.diff:  
   get_data(LD) -> 
     case {get_datas(LD#ld.node), LD#ld.data} of
  -    {[],[]} -> {[],LD};
  -    {[],[Data]} -> {Data,LD#ld{data=[]}};
  -    {[Data],_} -> {Data,LD#ld{data=[]}};
  -    {[Data,D2|_],_} ->{Data,LD#ld{data=[D2]}}
  +    {[],[]}		-> {[],LD};
  +    {[],[Data]}		-> {Data,LD#ld{data=[]}};
  +    {[Data],_}		-> {Data,LD#ld{data=[]}};
  +    {[Data,D2|_],_}	-> {Data,LD#ld{data=[D2]}}
     end.
   
   get_datas(Node) -> 
  
positive.code:     {timeout, _, {tick}} -> 
        prf:ticker_even(),
        {Data,NLD} = get_data(LD),
        Cdata = (NLD#ld.consumer):tick(NLD#ld.consumer_data, Data),
        ?LOOP(NLD#ld{consumer_data = Cdata});
      {'EXIT',Pid,Reason} when Pid == LD#ld.server ->
        ?log({lost_target, Reason}),
  
negative.code:     _ -> {Name,not_running}
    end.
  
  assert_proxy(no_proxy) -> ok;
  assert_proxy(Node) ->
    erlang:set_cookie(Node,watchdog),
    case net_adm:ping(Node) of
      pong -> ok;
      _    -> exit({no_proxy,Node})
  end.
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% runs in the consumer process
  
  init(Consumer, Node, Proxy) ->
    process_flag(trap_exit,true),
    prf:ticker_even(),
    case Proxy of
      no_proxy ->
        loop(#ld{node = Node, 
  	       proxy = [],
  	       consumer = Consumer, 
  	       collectors = subscribe(Node,Consumer:collectors()),
  	       consumer_data = Consumer:init(Node)});
      _ ->
        loop(#ld{node = Proxy,
  	       proxy = {Node,Consumer:collectors()},
  	       consumer = Consumer, 
  	       collectors = subscribe(Proxy,[prfDog]),
  	       consumer_data = Consumer:init(Node)})
    end.
  
  loop(LD) ->
    receive
  