anchor.diff:  -spec file_md5(file:io_device()) -> {ok, MD5::binary()}.
   file_md5(File) ->
       case file:read(File, ?BKSF_HEADER_SIZE) of
  -        {ok, <<?BKSF_IND:32,
  -               _TimeStamp:14/binary, MD5:32/binary>>} ->
  +        {ok, <<?BKSF_IND:32/integer, Version:16/integer>>} ->
  +            parse_header(File, Version);
  +        _ ->
  +            {error, invalid_file}
  +    end.
  +
  +parse_header(File, 1) ->
  +    case file:read(File, ?BKSF_HEADER_DETAIL_SIZE_1) of
  +        {ok, <<_DateStamp:14/binary, MD5:32/binary>>} ->
               {ok, MD5};
           _ ->
               {error, invalid_file}
  
positive.code: -spec handle_file_pad(file:io_device(), boolean(), list()) -> ok.
  handle_file_pad(File, true, _Opts) ->
      %% Reading or writing we want to make sure we are
      %% avoding the header
      {ok, ?BKSF_HEADER_SIZE} = file:position(File, ?BKSF_HEADER_SIZE);
  handle_file_pad(File, false, Opts) ->
      case lists:member(write, Opts) of
          true ->
  
negative.code:     {ok, CpySize} =
          file:copy(filename:join([Dir, encode(FromBucket), encode(FromPath)]),
                    filename:join([Dir, encode(ToBucket), encode(ToPath)])),
      {State, {ok, CpySize - ?CURRENT_HEADER_SIZE}}.
  
  -spec obj_send(fs_data(), bkss_store:bucket_name(),
                 bkss_store:path(), Trans::bkss_transport:trans()) ->
  