anchor.diff:      ?assertMatch({ok, _}, {A22, U22}),
       ?assertMatch({ok, _}, {A23, U23}),
   
  -
  -    Bench1 =
  -        fun Loop(File) when File < 100 ->
  +    {Level20Path, CreateLevel20} = create_deep_tree(Worker2),
  +
  +    BigDir =
  +        fun Loop(File) when File < 99 ->
               ?assertMatch({ok, _}, ?call(Worker1, create, [{path, <<"/spaces/Space 1/dir1">>}, #file_meta{name = integer_to_binary(1000 + File)}])),
               Loop(File + 1);
               Loop(_) ->
                   ok
           end,
  -
  -    S1 = now(),
  -    Bench1(0),
  -    E1 = now(),
  -
  -    {A14, U14} = ?call(Worker1, get, [{path, <<"/">>}]),
  -    {A5, U5} = ?call(Worker1, get, [{path, <<"/spaces">>}]),
  -    {A6, U6} = ?call(Worker2, get, [{path, <<"/spaces/Space 1">>}]),
  +    BigDir(0),
  +
  +    {{A14, U14}, GetLevel0} = ?call_with_time(Worker1, get, [{path, <<"/">>}]),
  +    {{A5, U5}, GetLevel1} = ?call_with_time(Worker1, get, [{path, <<"/spaces">>}]),
  +    {{A6, U6}, GetLevel2} = ?call_with_time(Worker2, get, [{path, <<"/spaces/Space 1">>}]),
       {A7, U7} = ?call(Worker1, get, [{path, <<"/spaces/Space 1/dir1">>}]),
       {A8, U8} = ?call(Worker2, get, [{path, <<"/spaces/Space 1/dir1/file1">>}]),
       ?assertMatch({ok, #document{value = #file_meta{name = <<"">>}}},        {A14, U14}),
  
positive.code:     ?assertMatch({ok, #document{key = U2}},             {A12, U12}),
      ?assertMatch({ok, #document{key = U2}},             {A13, U13}),
  
  
      ?assertMatch({ok, [U2]}, ?call(Worker1, list_uuids, [{path, <<"/spaces">>}, 0, 10])),
      ?assertMatch({ok, []}, ?call(Worker1, list_uuids, [{path, <<"/spaces/Space 1/dir2/file3">>}, 0, 10])),
  
      {A15, U15} = ?call(Worker1, list_uuids, [{path, <<"/spaces/Space 1/dir1">>}, 0, 20]),
      {A16, U16} = ?call(Worker1, list_uuids, [{path, <<"/spaces/Space 1/dir1">>}, 5, 10]),
  
      ?assertMatch({ok, _}, {A15, U15}),
      ?assertMatch({ok, _}, {A16, U16}),
  
      ?assertMatch(20, length(U15)),
      ?assertMatch(U16, lists:sublist(U15, 6, 10)),
  
      ?assertMatch(false, ?call(Worker1, exists, [{path, <<"/spaces/Space 1/dir2/file4">>}])),
      ?assertMatch(false, ?call(Worker1, exists, [{path, <<"/spaces/Space 2/dir2/file1">>}])),
      ?assertMatch(true, ?call(Worker1, exists, [{path, <<"/">>}])),
      ?assertMatch(true, ?call(Worker1, exists, [{path, <<"/spaces/Space 1/dir2/file1">>}])),
      ?assertMatch({ok, [_, _, _]}, ?call(Worker1, list_uuids, [{path, <<"/spaces/Space 1/dir2">>}, 0, 10])),
  
      ?assertMatch(ok, ?call(Worker1, delete, [{path, <<"/spaces/Space 1/dir2/file1">>}])),
      ?assertMatch(ok, ?call(Worker1, delete, [{uuid, U22}])),
      ?assertMatch({error, _}, ?call(Worker1, delete, [{path, <<"/spaces/Space 1/dir2/file4">>}])),
  
      ?assertMatch(false, ?call(Worker1, exists, [{path, <<"/spaces/Space 1/dir2/file1">>}])),
      ?assertMatch(false, ?call(Worker1, exists, [{path, <<"/spaces/Space 1/dir2/file2">>}])),
  
      ?assertMatch({ok, [U23]}, ?call(Worker1, list_uuids, [{path, <<"/spaces/Space 1/dir2">>}, 0, 10])),
  
  
      [?call(Worker1, delete, [{uuid, D}]) || D <- [U1, U2, U3, U4, U20, U21, U22, U23]],
  
      ok.
  
  
  rename_test(Config) ->
  
negative.code: 
  %%%===================================================================
  %%% Internal functions
  %%%===================================================================
  
  exec_and_check_time(Mod, M, A) ->
      BeforeProcessing = os:timestamp(),
      Ans = erlang:apply(Mod, M, A),
      AfterProcessing = os:timestamp(),
      {Ans, timer:now_diff(AfterProcessing, BeforeProcessing)}.
  
  create_deep_tree(Worker) ->
      create_deep_tree(Worker, "/spaces/Space 1", 18).
  
  create_deep_tree(Worker, Prefix, 1) ->
      {{A, U}, Time} = ?call_with_time(Worker, create, [{path, list_to_binary(Prefix)}, #file_meta{name = <<"1">>}]),
      ?assertMatch({ok, _}, {A, U}),
      {list_to_binary(Prefix++"/1"), Time};
  
  create_deep_tree(Worker, Prefix, Num) ->
      StringNum = integer_to_list(Num),
      {A, U} = ?call(Worker, create, [{path, list_to_binary(Prefix)}, #file_meta{name = list_to_binary(StringNum)}]),
      ?assertMatch({ok, _}, {A, U}),
      create_deep_tree(Worker, Prefix++"/"++StringNum, Num-1).
  
  delete_deep_tree(Worker) ->
      delete_deep_tree(Worker, "/spaces/Space 1", 18).
  
  delete_deep_tree(Worker, Prefix, 1) ->
      ?call(Worker, delete, [{path, list_to_binary(Prefix)}]);
  
  delete_deep_tree(Worker, Prefix, Num) ->
      StringNum = integer_to_list(Num),
      delete_deep_tree(Worker, Prefix++"/"++StringNum, Num-1),
      ?call(Worker, delete, [{path, list_to_binary(Prefix)}]).