   def handle_call({ :execute_quiet, commands }, _from, %State{ sock: sock } = s) do
     :inet.setopts(sock, [active: false])
     { packet, commands, i } = Enum.reduce(commands, { <<>>, [], 1 }, fn ({ command, args }, { packet, commands, i }) ->
-      { packet <> apply(Protocol, :to_binary, [command | [i | args]]), [{ i, command, args } | commands], i + 1 }
+      { packet <> serialize(command, [i | args]), [{ i, command, args } | commands], i + 1 }
     end)
     packet = packet <> Protocol.to_binary(:NOOP, i)
     result = case :gen_tcp.send(sock, packet) do

    rest = binary_part(bin, at, byte_size(bin) - at)
    { first, rest }
  end
end


  def handle_call({ :execute, command, args, opts }, _from, %State{ sock: sock } = s) do
    :inet.setopts(sock, [active: false])
    packet = serialize(command, args)
    result = case :gen_tcp.send(sock, packet) do
               :ok -> recv_response(command, s, opts)
               { :error, _reason } = error -> { :disconnect, error, error, s }
