anchor.diff:              {error, Reason, S2}
       end.
   
  -
  +%% original value generator which can specify percentage per a size group
  +size_group_load_config([], Acc) ->
  +    lists:flatten(Acc);
  +size_group_load_config([{Weight, Min, Max}|Rest], Acc) ->
  +    List = lists:duplicate(Weight, {Min, Max}),
  +    size_group_load_config(Rest, [List|Acc]).
  +
  +init_source() ->
  +    SourceSz = basho_bench_config:get(?VAL_GEN_SRC_SIZE, 1048576),
  +    {?VAL_GEN_SRC_SIZE, SourceSz, crypto:rand_bytes(SourceSz)}.
  +
  +data_block({SourceCfg, SourceSz, Source}, BlockSize) ->
  +    case SourceSz - BlockSize > 0 of
  +        true ->
  +            Offset = random:uniform(SourceSz - BlockSize),
  +            <<_:Offset/bytes, Slice:BlockSize/bytes, _Rest/binary>> = Source,
  +            Slice;
  +        false ->
  +            ?WARN("~p is too small ~p < ~p\n",
  +                  [SourceCfg, SourceSz, BlockSize]),
  +            Source
  +    end.
  +
  +value_gen_with_size_groups(ValueSource, SizeGroups) ->
  +    Len = length(SizeGroups),
  +    Nth = random:uniform(Len),
  +    {Min, Max} = lists:nth(Nth, SizeGroups),
  +    Size = case Max > Min of
  +        true -> random:uniform(Max - Min) + Min - 1;
  +        false -> Max
  +    end,
  +    {Nth, data_block(ValueSource, Size)}.
  +   
   %% ====================================================================
   %% Internal functions
   %% ====================================================================
  
positive.code: normalize_error(Method, {'EXIT', Reason})        -> {error, {Method, 'EXIT', Reason}};
  normalize_error(Method, {error, Reason})         -> {error, {Method, Reason}}.
  
  
  
negative.code:                  path_params,        % Params to append on the path
                   id,                 % Job ID passed through new/1 minus 1 -> 0... concurrent
                   concurrent,         % Number of Job Processed
                   value_source,       % source for a value generator
                   value_size_groups,  % size groups for a value generator
                   check_integrity}).  % Params to test data integrity
  
  -define(S3_ACC_KEY,      "05236").
  