diff --git a/rebar.config b/rebar.config
index 4af6b85..11cd96d 100644
--- a/rebar.config
+++ b/rebar.config
@@ -13,5 +13,7 @@
 % the License.
 
 {deps, [
+    {config, ".*", {git, "https://github.com/cloudant/config.git",
+        {tag, "0.1.0"}}},
     {twig, ".*", {git, "https://github.com/cloudant/twig.git", {tag, "0.2.1"}}}
 ]}.
diff --git a/src/rexi.app.src b/src/rexi.app.src
index 75baa77..01fa503 100644
--- a/src/rexi.app.src
+++ b/src/rexi.app.src
@@ -2,6 +2,6 @@
     {description, "Lightweight RPC server"},
     {vsn, git},
     {registered, [rexi_sup, rexi_server]},
-    {applications, [kernel, stdlib]},
+    {applications, [kernel, stdlib, config]},
     {mod, {rexi_app,[]}}
 ]}.
diff --git a/src/rexi_gov_manager.erl b/src/rexi_gov_manager.erl
index 14f73ed..0886351 100644
--- a/src/rexi_gov_manager.erl
+++ b/src/rexi_gov_manager.erl
@@ -14,6 +14,7 @@
 -module(rexi_gov_manager).
 
 -behaviour(gen_server).
+-behaviour(config_listener).
 
 % API
 -export([start_link/0, send/2]).
@@ -21,6 +22,7 @@
 % gen_server callbacks
 -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
          terminate/2, code_change/3]).
+-export([handle_config_change/5]).
 
 -record(state, {node_timers = ets:new(timers, [set]),
                 nodeout_timeout = 2000,
@@ -54,14 +56,32 @@
 init([]) ->
     ets:new(govs, [named_table, set, {read_concurrency, true}]),
     net_kernel:monitor_nodes(true),
-    %% if we install the new config app, the use of couch_config will go away
-    %%
-    %% NodeOutTimeout = list_to_integer(config:get("rexi","nodeout_timeout","500")),
-    %% PidSpawnMax = list_to_integer(config:get("rexi","pid_spawn_max", "10000")),
-    %% {ok, #state{nodeout_timeout = NodeOutTimeout,
-    %%             pid_spawn_max = PidSpawnMax}}
-    {ok, #state{}}.
+    NodeOutTimeout = config:get("rexi","nodeout_timeout","500"),
+    PidSpawnMax = config:get("rexi","pid_spawn_max", "10000"),
+    State = #state{
+        nodeout_timeout = list_to_integer(NodeOutTimeout),
+        pid_spawn_max = list_to_integer(PidSpawnMax)
+    },
+    config:listen_for_changes(?MODULE, State),
+    {ok, State}.
 
+handle_config_change("rexi", "nodeout_timeout", Value, _, State) ->
+    IntValue = list_to_integer(Value),
+    %% Setting the timeout is cheap, no need to check if it actually changed
+    gen_server:call(?MODULE, {set_timeout, IntValue}),
+    {ok, State#state{nodeout_timeout = IntValue}};
+handle_config_change("rexi", "pid_spawn_max", Value, _, State) ->
+    IntValue = list_to_integer(Value),
+    %% Setting the timeout is cheap, no need to check if it actually changed
+    gen_server:call(?MODULE, {set_spawn_max, IntValue}),
+    {ok, State#state{pid_spawn_max = IntValue}};
+handle_config_change(_, _, _, _, State) ->
+    {ok, State}.
+
+handle_call({set_timeout, TO}, _, #state{nodeout_timeout = Old} = State) ->
+    {reply, Old, State#state{nodeout_timeout = TO}};
+handle_call({set_spawn_max, Max}, _, #state{pid_spawn_max = Old} = State) ->
+    {reply, Old, State#state{pid_spawn_max = Max}};
 handle_call({get_governor, Node}, _From,
             #state{pid_spawn_max = PidSpawnMax} = State) ->
     case ets:lookup(govs, Node) of
