anchor.diff:      SMNew = count_dbsize(SKey),
       CONew = count_outdated(CKey),
       CMNew = count_dbsize(CKey),
  -    ct:pal("SYNC RUN << ~p >>~nServerKey=~p~nClientKey=~p~n"
  +    ct:pal("SYNC RUN << ~p / ~p >>~nServerKey=~p~nClientKey=~p~n"
              "Server Outdated=[~p -> ~p] Items=[~p -> ~p] - Upd=~p ; Regen=~p~n"
              "Client Outdated=[~p -> ~p] Items=[~p -> ~p] - Upd=~p ; Regen=~p", 
  -           [Method, SKey, CKey, 
  +           [Method, FType, SKey, CKey, 
               SO, SONew, SM, SMNew, SO - SONew, SMNew - SM,
               CO, CONew, CM, CMNew, CO - CONew, CMNew - CM]),
       %clean up
  
positive.code: %    and records the sync degree after each round
  %    returns list of sync degrees per round, first value is initial sync degree
  % @end
  %% -spec start_sync(Config, NodeCount::Int, DBSize::Int, 
  %%                  DBParams, Rounds::Int, Fpr, RepConf::Config) -> [S::Status, E::Status]
  %% when
  %%     is_subtype(Config,      [tuple()]),
  %%     is_subtype(Int,         pos_integer()),
  %%     is_subtype(DBParams,    [db_generator:db_parameter()]),
  %%     is_subtype(Fpr,         float()),
  %%     is_subtype(Status,      db_generator:db_status()).
  start_sync(Config, NodeCount, DBSize, DBParams, Rounds, Fpr, RepUpdConfig) ->
      NodeKeys = lists:sort(get_symmetric_keys(NodeCount)),
      %build and fill ring
      build_symmetric_ring(NodeCount, Config, RepUpdConfig),
      config:write(rr_bloom_fpr, Fpr),
      %fill_symmetric_ring(DataCount, NodeCount, OutdatedProb),
      erlang:put(?DBSizeKey, ?REP_FACTOR * DBSize),
  
negative.code: no_diff(Config) ->
      Method = proplists:get_value(ru_method, Config),
      FType = proplists:get_value(ftype, Config),
      {Start, End} = start_sync(Config, 4, 1000, [{fprob, 0}, {ftype, FType}], 
                                1, 0.1, get_rep_upd_config(Method)),
      ?assert(sync_degree(Start) =:= sync_degree(End)).
  
  min_nodes(Config) ->
      Method = proplists:get_value(ru_method, Config),
      FType = proplists:get_value(ftype, Config),
      {Start, End} = start_sync(Config, 1, 1, [{fprob, 50}, {ftype, FType}], 
                                1, 0.2, get_rep_upd_config(Method)),
      ?assert(sync_degree(Start) =:= sync_degree(End)).    
  
  simple(Config) ->
      Method = proplists:get_value(ru_method, Config),
      FType = proplists:get_value(ftype, Config),
      {Start, End} = start_sync(Config, 4, 1000, [{fprob, 10}, {ftype, FType}], 
                                1, 0.1, get_rep_upd_config(Method)),
      ?assert(sync_degree(Start) < sync_degree(End)).
  
  multi_round(Config) ->
      Method = proplists:get_value(ru_method, Config),
      FType = proplists:get_value(ftype, Config),
      {Start, End} = start_sync(Config, 4, 1000, [{fprob, 10}, {ftype, FType}], 
                                3, 0.1, get_rep_upd_config(Method)),
      ?assert(sync_degree(Start) < sync_degree(End)). 
  
  