anchor.diff:              lease_checker2:wait_for_clean_leases(500, [{ring_size, ring_size()-1}]),
   
               ct:pal("PRBR state after leases expired"),
  -            print_prbr_data(kv_db),
  -            _ = print_leases_data(),
  +            print_prbr_data(kv_db, Round),
  +            _ = print_leases_data(Round),
   
               %% check data integrity
               ct:pal("check data integrity"),
  -            _ = check_data_integrity(),
  +            _ = check_data_integrity(Round),
               %% "repair" replicas
               ct:pal("repair replicas"),
               _ = repair_replicas(),
   
               ct:pal("PRBR state after calling repair_replicas"),
  -            print_prbr_data(kv_db),
  -            _ = print_leases_data(),
  +            print_prbr_data(kv_db, Round),
  +            _ = print_leases_data(Round),
   
               %% add node to reform ring_size() node ring
               ct:pal("add node"),
  
positive.code:                                 length(NodeList) <
                                   quorum:majority_for_accept(config:read(replication_factor))],
  
      ct:pal("PRBR state ~w:~nFormat [{Value, [list_of_dht_nodes_value_is_stored_in]}]~n"
             "~100p", [DB, GroupedValues]),
      case length(Bad) of
          0 -> true;
          _ -> ct:fail("entries with not enough replicas")
      end,
      ok.
  
  print_leases_data() ->
      _ = [print_prbr_data({lease_db, I}) || I <- lists:seq(1, config:read(replication_factor))].
  
  print_element_data(Id, DB) ->
      HashedKey = ?RT:hash_key(integer_to_list(Id)),
  
negative.code:                                                   {start_type, recover}]}]),
      lease_checker2:wait_for_clean_leases(500, [{ring_size, ring_size()}]),
      %% ring restored -> checking KV data integrity
      _ = check_data_integrity(1),
      true.
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %% test remove_node/1 remove a node and ensure data integrity after recovery
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  remove_node(Config) ->
      Round = config:read(round),
      ct:pal("round: ~w", [Round]),
      ct:pal("wait for check_leases"),
      lease_checker2:wait_for_clean_leases(500, [{ring_size, ring_size()}]),
      SaveNode = lease_checker:get_random_save_node(),
  