diff --git a/.gitignore b/.gitignore
index 44e630a..c1cc1a9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -245,8 +245,8 @@
 /test/dart/**/pubspec.lock
 /test/log/
 /test/test.log
-/test/erl/.eunit/
 /test/erl/.generated
+/test/erl/ebin
 /test/go/bin/
 /test/go/ThriftTest.thrift
 /test/go/gopath
diff --git a/.travis.yml b/.travis.yml
index 5be7c34..4d2ecdb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -67,7 +67,7 @@
     # Put it here because it's most time consuming
     - TEST_NAME="make cross (automake)"
       THRIFT_CROSSTEST_CONCURRENCY=6
-      CONFIG="--enable-tutorial=no --without-erlang --without-lua --without-haxe --without-d"
+      CONFIG="--enable-tutorial=no --without-lua --without-haxe --without-d"
       ALL_DEPS="yes"
       MAKE_TARGET="cross"
       ERROR_LOG="test/log/unexpected_failures.log"
diff --git a/Makefile.am b/Makefile.am
index eeeb4f2..73bc48f 100755
--- a/Makefile.am
+++ b/Makefile.am
@@ -49,7 +49,7 @@
 space := $(empty) $(empty)
 comma := ,
 
-CROSS_LANGS = @MAYBE_CPP@ @MAYBE_C_GLIB@ @MAYBE_JAVA@ @MAYBE_CSHARP@ @MAYBE_PYTHON@ @MAYBE_RUBY@ @MAYBE_HASKELL@ @MAYBE_PERL@ @MAYBE_PHP@ @MAYBE_GO@ @MAYBE_NODEJS@ @MAYBE_DART@
+CROSS_LANGS = @MAYBE_CPP@ @MAYBE_C_GLIB@ @MAYBE_JAVA@ @MAYBE_CSHARP@ @MAYBE_PYTHON@ @MAYBE_RUBY@ @MAYBE_HASKELL@ @MAYBE_PERL@ @MAYBE_PHP@ @MAYBE_GO@ @MAYBE_NODEJS@ @MAYBE_DART@ @MAYBE_ERLANG@
 CROSS_LANGS_COMMA_SEPARATED = $(subst $(space),$(comma),$(CROSS_LANGS))
 
 cross: precross
diff --git a/build/docker/centos/Dockerfile b/build/docker/centos/Dockerfile
index c4c273c..8d5596a 100644
--- a/build/docker/centos/Dockerfile
+++ b/build/docker/centos/Dockerfile
@@ -67,7 +67,7 @@
 
 # Erlang Dependencies
 RUN curl -sSL http://packages.erlang-solutions.com/rpm/centos/erlang_solutions.repo -o /etc/yum.repos.d/erlang_solutions.repo && \
-    yum install -y erlang-kernel erlang-erts erlang-stdlib erlang-eunit erlang-rebar
+    yum install -y erlang-kernel erlang-erts erlang-stdlib erlang-eunit erlang-rebar erlang-tools
 
 # Go Dependencies
 RUN curl -sSL https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz | tar -C /usr/lib/ -xz && \
diff --git a/build/docker/ubuntu/Dockerfile b/build/docker/ubuntu/Dockerfile
index 0148006..4ad94e1 100644
--- a/build/docker/ubuntu/Dockerfile
+++ b/build/docker/ubuntu/Dockerfile
@@ -56,7 +56,7 @@
 RUN echo 'deb http://packages.erlang-solutions.com/debian trusty contrib' > /etc/apt/sources.list.d/erlang_solutions.list && \
     curl -sSL http://packages.erlang-solutions.com/debian/erlang_solutions.asc | sudo apt-key add - && \
     apt-get update && \
-    apt-get install -y erlang-base erlang-eunit erlang-dev
+    apt-get install -y erlang-base erlang-eunit erlang-dev erlang-tools
 
 # GO dependencies
 RUN curl -sSL https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz | tar -C /usr/lib/ -xz && \
diff --git a/configure.ac b/configure.ac
index 701fdc9..3d1b15f 100755
--- a/configure.ac
+++ b/configure.ac
@@ -796,6 +796,8 @@
 AC_SUBST([MAYBE_GO])
 if test "$have_nodejs" = "yes" ; then MAYBE_NODEJS="nodejs" ; else MAYBE_NODEJS="" ; fi
 AC_SUBST([MAYBE_NODEJS])
+if test "$have_erlang" = "yes" ; then MAYBE_ERLANG="erl" ; else MAYBE_ERLANG="" ; fi
+AC_SUBST([MAYBE_ERLANG])
 
 AC_OUTPUT
 
diff --git a/lib/erl/Makefile.am b/lib/erl/Makefile.am
index f577a63..21d21bf 100644
--- a/lib/erl/Makefile.am
+++ b/lib/erl/Makefile.am
@@ -19,21 +19,26 @@
 
 THRIFT = ../../compiler/cpp/thrift
 THRIFT_FILES = $(wildcard test/*.thrift) \
+		  ../../test/NameConflictTest.thrift \
 		  ../../test/ThriftTest.thrift
 
 if ERLANG_OTP16
-.generated: $(THRIFT) $(THRIFT_FILES)
-	for f in $(THRIFT_FILES) ; do \
-		$(THRIFT) --gen erl:otp16 -o test $$f ; \
-	done ;
+ERL_FLAG = erl:otp16
+ERL_FLAG_LEGACY = erl:otp16,legacynames
+# otp16 + maps does not make sense. We need to generate it anyway to avoid include error.
+ERL_FLAG_MAPS = erl:otp16
 else
+ERL_FLAG = erl
+ERL_FLAG_LEGACY = erl:legacynames
+ERL_FLAG_MAPS = erl:maps
+endif
 .generated: $(THRIFT) $(THRIFT_FILES)
 	for f in $(THRIFT_FILES) ; do \
-		$(THRIFT) --gen erl -o test $$f ; \
-	done ; \
-	$(THRIFT) --gen erl:maps -o test test/Thrift3214.thrift ; \
+		$(THRIFT) --gen $(ERL_FLAG) -o test $$f ; \
+	done
+	$(THRIFT) --gen $(ERL_FLAG_LEGACY) -o test test/flags/LegacyNames.thrift
+	$(THRIFT) --gen $(ERL_FLAG_MAPS) -o test test/flags/Thrift3214.thrift
 	touch .generated
-endif
 
 all: .generated
 	./rebar get-deps
diff --git a/test/erl/LegacyNames.thrift b/lib/erl/test/flags/LegacyNames.thrift
similarity index 100%
rename from test/erl/LegacyNames.thrift
rename to lib/erl/test/flags/LegacyNames.thrift
diff --git a/lib/erl/test/Thrift3214.thrift b/lib/erl/test/flags/Thrift3214.thrift
similarity index 100%
rename from lib/erl/test/Thrift3214.thrift
rename to lib/erl/test/flags/Thrift3214.thrift
diff --git a/test/erl/src/legacy_names_test.erl b/lib/erl/test/legacy_names_test.erl
similarity index 97%
rename from test/erl/src/legacy_names_test.erl
rename to lib/erl/test/legacy_names_test.erl
index 2ace7d0..c16aa3e 100644
--- a/test/erl/src/legacy_names_test.erl
+++ b/lib/erl/test/legacy_names_test.erl
@@ -22,7 +22,7 @@
 
 -include_lib("eunit/include/eunit.hrl").
 
--include("legacyNames_constants.hrl").
+-include("gen-erl/legacyNames_constants.hrl").
 
 record_generation_test_() ->
   [
@@ -66,4 +66,4 @@
       {struct, [{1, {struct, {'legacyNames_types', 'xception'}}}]},
       legacyNames_thrift:function_info(names, exceptions)
     )}
-  ].
\ No newline at end of file
+  ].
diff --git a/test/erl/src/name_conflict_test.erl b/lib/erl/test/name_conflict_test.erl
similarity index 98%
rename from test/erl/src/name_conflict_test.erl
rename to lib/erl/test/name_conflict_test.erl
index 5576ffa..b01df57 100644
--- a/test/erl/src/name_conflict_test.erl
+++ b/lib/erl/test/name_conflict_test.erl
@@ -22,7 +22,7 @@
 
 -include_lib("eunit/include/eunit.hrl").
 
--include("name_conflict_test_constants.hrl").
+-include("gen-erl/name_conflict_test_constants.hrl").
 
 record_generation_test_() ->
   [
@@ -296,4 +296,4 @@
       {struct, [{1, {struct, {name_conflict_test_types, 'Problem_'}}}]},
       extern_thrift:function_info('Foo', exceptions)
     )}
-  ].
\ No newline at end of file
+  ].
diff --git a/test/erl/src/thrift_test_test.erl b/lib/erl/test/thrift_test_test.erl
similarity index 99%
rename from test/erl/src/thrift_test_test.erl
rename to lib/erl/test/thrift_test_test.erl
index 07dfe1c..e506437 100644
--- a/test/erl/src/thrift_test_test.erl
+++ b/lib/erl/test/thrift_test_test.erl
@@ -23,7 +23,7 @@
 
 -include_lib("eunit/include/eunit.hrl").
 
--include("thrift_test_constants.hrl").
+-include("gen-erl/thrift_test_constants.hrl").
 
 constant_test_() ->
   [
@@ -652,4 +652,4 @@
       {struct, []},
       second_service_thrift:function_info(secondtestString, exceptions)
     )}
-  ].
\ No newline at end of file
+  ].
diff --git a/test/Makefile.am b/test/Makefile.am
index 7590921..593b1c4 100755
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -72,6 +72,7 @@
 
 if WITH_ERLANG
 SUBDIRS += erl
+PRECROSS_TARGET += precross-erl
 endif
 
 #
diff --git a/test/erl/Makefile.am b/test/erl/Makefile.am
index 1940ce3..b489d8e 100644
--- a/test/erl/Makefile.am
+++ b/test/erl/Makefile.am
@@ -22,19 +22,23 @@
 
 THRIFT_FILES = $(wildcard ../*.thrift)
 
+if ERLANG_OTP16
+ERL_FLAG = erl:otp16
+else
+ERL_FLAG = erl
+endif
 # make sure ThriftTest.thrift is generated last to prevent conflicts with other *.thrift files
 .generated: $(THRIFT_FILES)
 	for f in $(THRIFT_FILES) ; do \
-	  $(THRIFT) --gen erl $$f ; \
+	  $(THRIFT) --gen $(ERL_FLAG) -o src $$f ; \
 	done ; \
-	$(THRIFT) --gen erl:legacynames LegacyNames.thrift
-	$(THRIFT) --gen erl ../ThriftTest.thrift
+	$(THRIFT) --gen $(ERL_FLAG) -o src ../ThriftTest.thrift
 	touch .generated
 
-check: .generated
-	$(REBAR) eunit
+precross: .generated
+	$(REBAR) compile
 
 clean:
 	rm -f .generated
-	rm -rf gen-erl
+	rm -rf src/gen-erl
 	$(REBAR) clean
diff --git a/test/erl/rebar.config b/test/erl/rebar.config
index 6035849..59a0788 100644
--- a/test/erl/rebar.config
+++ b/test/erl/rebar.config
@@ -1,5 +1,6 @@
+{sub_dirs, ["../../lib/erl"]}.
+
 {erl_opts, [
   debug_info,
-  {i, ["gen-erl"]},
-  {src_dirs, ["gen-erl"]}
+  {i, "../../lib/erl/include"}
 ]}.
diff --git a/lib/erl/test/test_client.erl b/test/erl/src/test_client.erl
similarity index 81%
rename from lib/erl/test/test_client.erl
rename to test/erl/src/test_client.erl
index 4e85c47..fad0988 100644
--- a/lib/erl/test/test_client.erl
+++ b/test/erl/src/test_client.erl
@@ -27,26 +27,35 @@
                   client_opts = []}).
 
 parse_args(Args) -> parse_args(Args, #options{}).
-parse_args([], Opts) -> Opts;
+parse_args([], Opts) ->
+  Opts;
 parse_args([Head | Rest], Opts) ->
     NewOpts =
-        case catch list_to_integer(Head) of
-            Port when is_integer(Port) ->
-                Opts#options{port = Port};
-            _Else ->
-                case Head of
+        case Head of
+            "--port=" ++ Port ->
+                case string:to_integer(Port) of
+                  {IntPort,_} when is_integer(IntPort) ->
+                    Opts#options{port = IntPort};
+                  _Else ->
+                    erlang:error({bad_arg, Head})
+                end;
+            "--transport=" ++ Trans ->
+                % TODO: Enable Buffered and HTTP transport
+                case Trans of
                     "framed" ->
                         Opts#options{client_opts = [{framed, true} | Opts#options.client_opts]};
-                    "" ->
-                        Opts;
                     _Else ->
-                        erlang:error({bad_arg, Head})
-                end
+                        Opts
+                end;
+            "--protocol=binary" ->
+                % TODO: Enable JSON protocol
+                Opts;
+            _Else ->
+                erlang:error({bad_arg, Head})
         end,
     parse_args(Rest, NewOpts).
 
-
-start() -> start([]).
+start() -> start(init:get_plain_arguments()).
 start(Args) ->
   #options{port = Port, client_opts = ClientOpts} = parse_args(Args),
   {ok, Client0} = thrift_client_util:new(
@@ -70,9 +79,9 @@
   DemoDict = dict:from_list([ {Key, Key-10} || Key <- lists:seq(0,10) ]),
   DemoSet = sets:from_list([ Key || Key <- lists:seq(-3,3) ]),
 
-  %DemoInsane = #insanity{
-  %  userMap = dict:from_list([{?thriftTest_FIVE, 5000}]),
-  %  xtructs = [#xtruct{ string_thing = <<"Truck">>, byte_thing = 8, i32_thing = 8, i64_thing = 8}]},
+  DemoInsane = #'Insanity'{
+    userMap = dict:from_list([{?THRIFT_TEST_NUMBERZ_FIVE, 5000}]),
+    xtructs = [#'Xtruct'{ string_thing = <<"Truck">>, byte_thing = 8, i32_thing = 8, i64_thing = 8}]},
 
   {Client01, {ok, ok}} = thrift_client:call(Client0, testVoid, []),
 
@@ -91,11 +100,8 @@
   {Client13, {ok, [-1,2,3]}}        = thrift_client:call(Client12, testList, [[-1,2,3]]),
   {Client14, {ok, 1}}               = thrift_client:call(Client13, testEnum, [?THRIFT_TEST_NUMBERZ_ONE]),
   {Client15, {ok, 309858235082523}} = thrift_client:call(Client14, testTypedef, [309858235082523]),
-
-  % No python implementation, but works with C++ and Erlang.
-  %{Client16, {ok, InsaneResult}}    = thrift_client:call(Client15, testInsanity, [DemoInsane]),
-  %io:format("~p~n", [InsaneResult]),
-  Client16 = Client15,
+  {Client16, {ok, InsaneResult}}    = thrift_client:call(Client15, testInsanity, [DemoInsane]),
+  io:format("~p~n", [InsaneResult]),
 
   {Client17, {ok, #'Xtruct'{string_thing = <<"Message">>}}} =
     thrift_client:call(Client16, testMultiException, ["Safe", "Message"]),
diff --git a/lib/erl/test/test_thrift_server.erl b/test/erl/src/test_thrift_server.erl
similarity index 82%
rename from lib/erl/test/test_thrift_server.erl
rename to test/erl/src/test_thrift_server.erl
index 1f43b72..6969465 100644
--- a/lib/erl/test/test_thrift_server.erl
+++ b/test/erl/src/test_thrift_server.erl
@@ -19,34 +19,42 @@
 
 -module(test_thrift_server).
 
--export([go/0, go/1, start_link/2, handle_function/2]).
+-export([start/0, start/1, start_link/2, handle_function/2]).
 
+-include("thrift_constants.hrl").
 -include("gen-erl/thrift_test_types.hrl").
 
 -record(options, {port = 9090,
                   server_opts = []}).
 
 parse_args(Args) -> parse_args(Args, #options{}).
-parse_args([], Opts) -> Opts;
+parse_args([], Opts) ->
+  Opts;
 parse_args([Head | Rest], Opts) ->
     NewOpts =
-        case catch list_to_integer(Head) of
-            Port when is_integer(Port) ->
-                Opts#options{port = Port};
-            _Else ->
-                case Head of
+        case Head of
+            "--port=" ++ Port ->
+                case string:to_integer(Port) of
+                  {IntPort,_} when is_integer(IntPort) ->
+                    Opts#options{port = IntPort};
+                  _Else ->
+                    erlang:error({bad_arg, Head})
+                end;
+            "--transport=" ++ Trans ->
+                case Trans of
                     "framed" ->
                         Opts#options{server_opts = [{framed, true} | Opts#options.server_opts]};
-                    "" ->
-                        Opts;
                     _Else ->
-                        erlang:error({bad_arg, Head})
-                end
+                        Opts
+                end;
+            "--protocol=" ++ _ -> Opts;
+            _Else ->
+                erlang:error({bad_arg, Head})
         end,
     parse_args(Rest, NewOpts).
 
-go() -> go([]).
-go(Args) ->
+start() -> start(init:get_plain_arguments()).
+start(Args) ->
     #options{port = Port, server_opts = ServerOpts} = parse_args(Args),
     spawn(fun() -> start_link(Port, ServerOpts), receive after infinity -> ok end end).
 
@@ -65,6 +73,10 @@
     io:format("testString: ~p~n", [S]),
     {reply, S};
 
+handle_function(testBool, {B}) when is_boolean(B) ->
+    io:format("testBool: ~p~n", [B]),
+    {reply, B};
+
 handle_function(testByte, {I8}) when is_integer(I8) ->
     io:format("testByte: ~p~n", [I8]),
     {reply, I8};
@@ -107,6 +119,10 @@
     io:format("testMap: ~p~n", [dict:to_list(Map)]),
     {reply, Map};
 
+handle_function(testStringMap, {Map}) ->
+    io:format("testStringMap: ~p~n", [dict:to_list(Map)]),
+    {reply, Map};
+
 handle_function(testSet, {Set}) ->
     true = sets:is_set(Set),
     io:format("testSet: ~p~n", [sets:to_list(Set)]),
@@ -127,8 +143,8 @@
 handle_function(testMapMap, {Hello}) ->
     io:format("testMapMap: ~p~n", [Hello]),
 
-    PosList = [{I, I}   || I <- lists:seq(1, 5)],
-    NegList = [{-I, -I} || I <- lists:seq(1, 5)],
+    PosList = [{I, I}   || I <- lists:seq(1, 4)],
+    NegList = [{-I, -I} || I <- lists:seq(1, 4)],
 
     MapMap = dict:from_list([{4,  dict:from_list(PosList)},
                              {-4, dict:from_list(NegList)}]),
@@ -149,13 +165,10 @@
       xtructs = [Goodbye]
       },
 
-    Looney = #'Insanity'{
-      userMap = dict:from_list([{?THRIFT_TEST_NUMBERZ_FIVE, 5}]),
-      xtructs = [Hello]
-      },
+    Looney = #'Insanity'{},
 
-    FirstMap = dict:from_list([{?THRIFT_TEST_NUMBERZ_TWO, Crazy},
-                               {?THRIFT_TEST_NUMBERZ_THREE, Crazy}]),
+    FirstMap = dict:from_list([{?THRIFT_TEST_NUMBERZ_TWO, Insanity},
+                               {?THRIFT_TEST_NUMBERZ_THREE, Insanity}]),
 
     SecondMap = dict:from_list([{?THRIFT_TEST_NUMBERZ_SIX, Looney}]),
 
@@ -185,6 +198,8 @@
         <<"Xception">> ->
             throw(#'Xception'{errorCode = 1001,
                             message = String});
+        <<"TException">> ->
+            throw({?TApplicationException_Structure});
         _ ->
             ok
     end;
diff --git a/test/erl/src/thrift_test.app.src b/test/erl/src/thrift_test.app.src
index 4dcd377..7896a95 100644
--- a/test/erl/src/thrift_test.app.src
+++ b/test/erl/src/thrift_test.app.src
@@ -19,13 +19,16 @@
 %%% -*- mode:erlang -*-
 {application, thrift_test, [
   % A quick description of the application.
-  {description, "tests for thrift erlang compiler backend"},
+  {description, "Thrift cross language test"},
 
   % The version of the applicaton
   {vsn, "1.0.0-dev"},
 
   % All modules used by the application.
-  {modules, [legacy_names_test, name_conflict_test, thrift_test_test]},
+  {modules, [
+    test_client,
+    test_thrift_server
+  ]},
 
   % All of the registered names the application uses. This can be ignored.
   {registered, []},
diff --git a/test/known_failures_Linux.json b/test/known_failures_Linux.json
index dbc97cc..801b1dc 100644
--- a/test/known_failures_Linux.json
+++ b/test/known_failures_Linux.json
@@ -44,6 +44,11 @@
   "csharp-nodejs_json_buffered-ip-ssl",
   "csharp-nodejs_json_framed-ip",
   "csharp-nodejs_json_framed-ip-ssl",
+  "erl-nodejs_binary_buffered-ip",
+  "erl-rb_binary-accel_buffered-ip",
+  "erl-rb_binary-accel_framed-ip",
+  "erl-rb_binary_buffered-ip",
+  "erl-rb_binary_framed-ip",
   "go-dart_binary_framed-ip",
   "go-dart_json_framed-ip",
   "go-hs_json_buffered-ip",
diff --git a/test/tests.json b/test/tests.json
index 8c152fc..3d8ddbe 100644
--- a/test/tests.json
+++ b/test/tests.json
@@ -376,5 +376,52 @@
       ]
     },
     "workdir": "dart"
+  },
+  {
+    "name": "erl",
+    "transports": [
+      "buffered",
+      "framed"
+    ],
+    "sockets": [
+      "ip"
+    ],
+    "protocols": [
+      "binary"
+    ],
+    "client": {
+      "command": [
+        "erl",
+        "+K",
+        "true",
+        "-noshell",
+        "-pa",
+        "../../lib/erl/ebin/",
+        "-pa",
+        "./ebin",
+        "-s",
+        "test_client",
+        "-s",
+        "init",
+        "stop",
+        "-extra"
+      ]
+    },
+    "server": {
+      "command": [
+        "erl",
+        "+K",
+        "true",
+        "-noshell",
+        "-pa",
+        "../../lib/erl/ebin/",
+        "-pa",
+        "./ebin",
+        "-s",
+        "test_thrift_server",
+        "-extra"
+      ]
+    },
+    "workdir": "erl"
   }
 ]
diff --git a/tutorial/erl/json_client.erl b/tutorial/erl/json_client.erl
index 524e9ae..312b01e 100644
--- a/tutorial/erl/json_client.erl
+++ b/tutorial/erl/json_client.erl
@@ -27,8 +27,8 @@
 
 -export([t/0]).
 
-%% Client constructor for the common-case of socket transports
-%% with the binary protocol
+%% Client constructor for the http transports
+%% with the json protocol
 new_client(Host, Path, Service, _Options) ->
     {ProtoOpts, TransOpts} = {[],[]},
     TransportFactory = fun() -> thrift_http_transport:new(Host, Path, TransOpts) end,
