anchor.diff:  handle_call(table, _From, State = #state{ets=Ets}) ->
     {reply, Ets, State};
     
  -handle_call(averages, _From, State = #state{ets=Ets}) ->
  -  List = ets:foldl(fun(#profile{name=Name,count=Count,sum=Sum}, List) ->
  +handle_call(averages, _From, State = #state{ets=Ets,balance=Bal}) ->
  +  Avgs = ets:foldl(fun(#profile{name=Name,count=Count,sum=Sum}, List) ->
         [{Name, Sum/Count}|List]
       end, [], Ets),
  -  {reply, List, State}.
  +  {_, MaxCount} = ets:foldl(fun
  +      ({Pid, Count}, {P, M}) when Count > M -> {Pid, Count};
  +      (_, {P, M}) -> {P, M}
  +    end, {pid, 0}, Bal),
  +  Balances = ets:foldl(fun({Pid, Count}, List) ->
  +      [{Pid, Count / MaxCount} | List]
  +    end, [], Bal),
  +  {reply, [Balances, Avgs], State}.
   
   %%--------------------------------------------------------------------
   %% @spec handle_cast(Msg, State) -> {noreply, State} |
  
positive.code: %%--------------------------------------------------------------------
  init([]) ->
    Tid = ets:new(profiling, [set, {keypos, 2}]),
    {ok, #state{ets=Tid}}.
  
  %%--------------------------------------------------------------------
  %% @spec 
  
negative.code: %% @doc Handling cast messages
  %% @end 
  %%--------------------------------------------------------------------
  handle_cast({balance, Pid, Time}, State = #state{balance=Ets}) ->
    case ets:lookup(Ets, Pid) of
      [] -> ets:insert(Ets, {Pid, 1});
      [{Pid, Count}] -> ets:insert(Ets, {Pid, Count+1})
    end,
    {noreply, State};
  
  handle_cast({start, Pid, Id, Time}, State = #state{ets=Ets}) ->
    put({Pid,Id}, Time),
    {noreply, State};
  