add bootstrap
diff --git a/src/setup.app.src b/src/setup.app.src
new file mode 100644
index 0000000..d79e4b4
--- /dev/null
+++ b/src/setup.app.src
@@ -0,0 +1,12 @@
+{application, setup,
+ [
+  {description, ""},
+  {vsn, "1"},
+  {registered, []},
+  {applications, [
+                  kernel,
+                  stdlib
+                 ]},
+  {mod, { setup_app, []}},
+  {env, []}
+ ]}.
diff --git a/src/setup_app.erl b/src/setup_app.erl
new file mode 100644
index 0000000..0d43a50
--- /dev/null
+++ b/src/setup_app.erl
@@ -0,0 +1,16 @@
+-module(setup_app).
+
+-behaviour(application).
+
+%% Application callbacks
+-export([start/2, stop/1]).
+
+%% ===================================================================
+%% Application callbacks
+%% ===================================================================
+
+start(_StartType, _StartArgs) ->
+    setup_sup:start_link().
+
+stop(_State) ->
+    ok.
diff --git a/src/setup_sup.erl b/src/setup_sup.erl
new file mode 100644
index 0000000..eae0eae
--- /dev/null
+++ b/src/setup_sup.erl
@@ -0,0 +1,27 @@
+-module(setup_sup).
+
+-behaviour(supervisor).
+
+%% API
+-export([start_link/0]).
+
+%% Supervisor callbacks
+-export([init/1]).
+
+%% Helper macro for declaring children of supervisor
+-define(CHILD(I, Type), {I, {I, start_link, []}, permanent, 5000, Type, [I]}).
+
+%% ===================================================================
+%% API functions
+%% ===================================================================
+
+start_link() ->
+    supervisor:start_link({local, ?MODULE}, ?MODULE, []).
+
+%% ===================================================================
+%% Supervisor callbacks
+%% ===================================================================
+
+init([]) ->
+    {ok, { {one_for_one, 5, 10}, []} }.
+