diff --git a/tutorial/erl/client.erl b/tutorial/erl/client.erl
index f4ff7b3..9e18746 100644
--- a/tutorial/erl/client.erl
+++ b/tutorial/erl/client.erl
@@ -6,63 +6,68 @@
 
 -include("calculator_thrift.hrl").
 
--export([t/0]).
+-export([go/0]).
+
+p(X) ->
+    io:format("~p~n", [X]),
+    ok.
 
 t() ->
+    thrift:start(),
     Host = "dev020",
     Port = 9999,
 
-    _Sock = oop:start_new(tSocket, [Host, Port]),
-    Trans = oop:start_new(tBufferedTransport, [_Sock]),
-    Prot  = oop:start_new(tBinaryProtocol, [Trans]),
+    try
+        _Sock = oop:start_new(tSocket, [Host, Port]),
+        Trans = oop:start_new(tBufferedTransport, [_Sock]),
+        Prot  = oop:start_new(tBinaryProtocol, [Trans]),
 
-    ?R0(Trans, effectful_open),
+        ?R0(Trans, effectful_open),
 
-    Client = calculator_thrift:new(Prot),
+        Client = calculator_thrift:new(Prot),
 
-    calculator_thrift:ping(Client),
-    p("ping"),
+        calculator_thrift:ping(Client),
+        io:format("ping~n", []),
 
- %%
- %%   sum = client.add(1,1)
- %%   print "1+1=", sum, "\n"
- %%
- %%   sum = client.add(1,4)
- %%   print "1+4=", sum, "\n"
- %%
- %%   work = Work.new()
- %%
- %%   work.op = Operation::SUBTRACT
- %%   work.num1 = 15
- %%   work.num2 = 10
- %%   diff = client.calculate(1, work)
- %%   print "15-10=", diff, "\n"
- %%
- %%   log = client.getStruct(1)
- %%   print "Log: ", log.value, "\n"
- %%
- %%   begin
- %%     work.op = Operation::DIVIDE
- %%     work.num1 = 1
- %%     work.num2 = 0
- %%     quot = client.calculate(1, work)
- %%     puts "Whoa, we can divide by 0 now?"
- %%   rescue InvalidOperation => io
- %%     print "InvalidOperation: ", io.why, "\n"
- %%   end
- %%
- %%   client.zip()
- %%   print "zip\n"
- %%
- %%   transport.close()
- %%
- %% rescue TException => tx
- %%   print 'TException: ', tx.message, "\n"
- %% end
- %%
- %%
- %%
-    %% XXX if we don't close, the connection doesn't time out on the other side
-    ?R0(Trans, effectful_close),
+        Sum = calculator_thrift:add(Client, 1, 1),
+        io:format("1+1=~p~n", [Sum]),
 
+        Sum1 = calculator_thrift:add(Client, 1, 4),
+        io:format("1+4=~p~n", [Sum1]),
+
+        Work = #work{op=?tutorial_SUBTRACT,
+                     num1=15,
+                     num2=10},
+        Diff = calculator_thrift:calculate(Client, 1, Work),
+        io:format("15-10=~p~n", [Diff]),
+
+        %% xxx inheritance doesn't work
+        %% Log = sharedService_thrift:getStruct(Client, 1),
+        %% io:format("Log: ~p~n", [Log]),
+
+        %% xxx neither do exceptions :(
+        try
+            Work1 = #work{op=?tutorial_DIVIDE,
+                          num1=1,
+                          num2=0},
+            _Quot = (calculator_thrift:calculate(Client, 1, Work1)),
+
+            io:format("LAME: exception handling is broken~n", [])
+        catch
+            Z ->
+                p(Z)
+        %%   rescue InvalidOperation => io
+        %%     print "InvalidOperation: ", io.why, "\n"
+        %%   end
+        end,
+
+        calculator_thrift:zip(Client),
+        io:format("zip~n", []),
+
+        ?R0(Trans, effectful_close)
+
+    catch
+        Y ->
+            p(Y)
+    end,
     ok.
diff --git a/tutorial/erl/client.sh b/tutorial/erl/client.sh
new file mode 120000
index 0000000..a417e0d
--- /dev/null
+++ b/tutorial/erl/client.sh
@@ -0,0 +1 @@
+server.sh
\ No newline at end of file
