anchor.diff:  build_payload([], Payload) ->
     ["{\"aps\":{", string:join(Payload,",") ,"}}"].
   
  +-spec send_payload(#sslsocket{}, binary(), iolist()) -> ok | {error, term()}.
   send_payload(Socket, BinToken, Payload) -> 
       BinPayload = list_to_binary(Payload),
       PayloadLength = erlang:size(BinPayload),
  -    Packet = <<0:8, 32:16/big,
  -               %%16#ac812b2d723f40f206204402f1c870c8d8587799370bd41d6723145c4e4ebbd7:256/big,
  -               BinToken/binary,
  -               PayloadLength:16/big,
  -               BinPayload/binary>>,
  +    Packet = [<<0:8, 32:16/big,
  +                %%16#ac812b2d723f40f206204402f1c870c8d8587799370bd41d6723145c4e4ebbd7:256/big,
  +                BinToken/binary,
  +                PayloadLength:16/big,
  +                BinPayload/binary>>],
       ssl:send(Socket, Packet).
   
   hexstr_to_bin(S) ->
  
positive.code: -spec init(#apns_connection{}) -> {ok, state()} | {stop, term()}.
  init(Connection) ->
    ok = ssl:seed(Connection#apns_connection.ssl_seed),
    case ssl:connect(
           Connection#apns_connection.apple_host,
           Connection#apns_connection.apple_port,
           [{certfile, filename:absname(Connection#apns_connection.cert_file)}, {mode, binary}],
           Connection#apns_connection.timeout) of
      {ok, Socket} ->
        {ok, #state{socket = Socket}};
      {error, Reason} ->
        {stop, Reason}
    end.
  
  
negative.code:   {stop, normal, State}.
  
  %% @hidden
  -spec handle_info({ssl_closed, #sslsocket{}} | X, state()) -> {stop, ssl_closed | {unknown_request, X}, state()}.
  handle_info({ssl_closed, SslSocket}, State = #state{socket = SslSocket}) ->
    {stop, ssl_closed, State};
  handle_info(Request, State) ->
  