         )
 
         {:ok, pdu_storage} = PduStorage.start_link
+        response_limit = Keyword.get(esme_opts, :response_limit, @default_response_limit)
 
-        %ESME{
+        {:ok, %ESME{
           client_pool: pool,
           smpp_session: session,
           module: module,

  @default_inactivity_limit :infinity
  @default_response_limit 60000

  @type state :: any
  @type args :: any
  @type reason :: any

          response_limit: response_limit,
          bound: false,
          sequence_number: 1
        }}
      {:stop, _} = stop ->
        ClientPool.stop(pool)
        stop
