anchor.diff:  
   new_metric_dir([Path], NewMetric) ->
       Name = NewMetric#metric_file.name,
  -    [{Path, #metric_dir{name=Path,
  -                        metrics=orddict:from_list([{Name, NewMetric}]),
  -                        dirs=orddict:new()}}];
  +    #metric_dir{name=Path,
  +                metrics=orddict:from_list([{Name, NewMetric}]),
  +                dirs=orddict:new()};
   
   new_metric_dir([Path | Paths], NewMetric) ->
  +    NewDir = new_metric_dir(Paths, NewMetric),
  +    Insert = [{NewDir#metric_dir.name, NewDir}],
       #metric_dir{name=Path,
                   metrics=orddict:new(),
  -                dirs=orddict:from_list(new_metric_dir(Paths, NewMetric))}.
  +                dirs=orddict:from_list(Insert)}.
   
   
   find_metrics(Paths, Dir) ->
  
positive.code:          terminate/2,
           code_change/3]).
  
  -define(FINDER_UPDATE_INTERVAL, 60000).
  -define(FINDER_SPECIAL_CHARS, [<<"*">>, <<"?">>, <<"{">>, <<"}">>]).
  
  -record(state, {metrics, status=none, data_dir, timer, count}).
  
  -record(metric_file, {
  
negative.code:                    lager:info("no metrics found in data directory '~s'", [Dir]);
                 true -> ok
              end,
              {?EMPTY_METRIC_DIR, 0}
      end.
  
  spawn_update_metrics(#state{status=pending}=State) ->
  