diff --git a/lib/alterl/src/test_handler.erl b/lib/alterl/src/test_handler.erl
new file mode 100644
index 0000000..a0aa2a5
--- /dev/null
+++ b/lib/alterl/src/test_handler.erl
@@ -0,0 +1,7 @@
+-module(test_handler).
+
+-export([handle_function/2]).
+
+handle_function(add, Params = {A, B}) ->
+    io:format("Got params: ~p~n", [Params]),
+    {reply, A + B}.
diff --git a/lib/alterl/src/test_service.erl b/lib/alterl/src/test_service.erl
new file mode 100644
index 0000000..b7f00d9
--- /dev/null
+++ b/lib/alterl/src/test_service.erl
@@ -0,0 +1,10 @@
+-module(test_service).
+%
+% Test service definition
+
+-export([function_info/2]).
+
+function_info(add, params_type) ->
+    {struct, [{1, i32},
+              {2, i32}]};
+function_info(add, reply_type) -> i32.
diff --git a/lib/alterl/src/thrift_processor.erl b/lib/alterl/src/thrift_processor.erl
index fd6972d..546bcfe 100644
--- a/lib/alterl/src/thrift_processor.erl
+++ b/lib/alterl/src/thrift_processor.erl
@@ -36,35 +36,57 @@
             ok
     end.
 
-handle_function(State = #state{in_protocol = IProto,
-                               out_protocol = OProto},
-                add) ->
-    io:format("Reading struct~n"),
-    {ok, Struct} = thrift_protocol:read(IProto,
-                  {struct, [{1, i32},
-                            {2, i32}]}),
-    io:format("Struct: ~p~n", [Struct]),
+%handle_function(State = #state{in_protocol = IProto,
+%                               out_protocol = OProto},
+%                add) ->
+%    io:format("Reading struct~n"),
+%    {ok, Struct} = thrift_protocol:read(IProto,
+%                  {struct, [{1, i32},
+%                            {2, i32}]}),
+%    io:format("Struct: ~p~n", [Struct]),
     
-    {A, B} = Struct,
+%    {A, B} = Struct,
 
-    thrift_protocol:write(OProto, #protocol_message_begin{
-                            name = "addResult",
+%    thrift_protocol:write(OProto, #protocol_message_begin{
+%                            name = "addResult",
+%                            type = ?tMessageType_REPLY,
+%                            seqid = 0}),
+%    thrift_protocol:write(OProto, {{struct, [{0, i32}]},
+%                                   {A + B}}),
+%    thrift_protocol:write(OProto, message_end);
+
+%handle_function(State = #state{in_protocol = IProto,
+%                               out_protocol = OProto},
+%                complexTest) ->
+%    io:format("Reading struct~n"),
+%    Struct = thrift_protocol:read(
+%               IProto,
+%               {struct, [{1, {struct,
+%                              [{1, {list, i32}},
+%                               {2, {map, string, {struct, [{1, i16}]}}}]}}]}),
+    
+%    io:format("Struct: ~p~n", [Struct]);
+
+
+handle_function(State = #state{in_protocol = IProto,
+                               out_protocol = OProto,
+                               handler = Handler,
+                               service = Service},
+                Function) ->
+    InParams = Service:function_info(Function, params_type),
+
+    {ok, Params} = thrift_protocol:read(IProto, InParams),
+    Result = Handler:handle_function(Function, Params),
+    
+    ReplyType = Service:function_info(Function, reply_type),
+    
+    case Result of
+        {reply, Reply} -> 
+            thrift_protocol:write(OProto, #protocol_message_begin{
+                            name = atom_to_list(Function) ++ "_result",
                             type = ?tMessageType_REPLY,
                             seqid = 0}),
-    thrift_protocol:write(OProto, {{struct, [{0, i32}]},
-                                   {A + B}}),
-    thrift_protocol:write(OProto, message_end);
-
-handle_function(State = #state{in_protocol = IProto,
-                               out_protocol = OProto},
-                complexTest) ->
-    io:format("Reading struct~n"),
-    Struct = thrift_protocol:read(
-               IProto,
-               {struct, [{1, {struct,
-                              [{1, {list, i32}},
-                               {2, {map, string, {struct, [{1, i16}]}}}]}}]}),
-    
-    io:format("Struct: ~p~n", [Struct]).
-
-
+            thrift_protocol:write(OProto, {{struct, [{0, ReplyType}]}, {Reply}}),
+            thrift_protocol:write(OProto, message_end)
+    end,
+    ok.
diff --git a/lib/alterl/src/thrift_server.erl b/lib/alterl/src/thrift_server.erl
index fd559f1..5760e1c 100644
--- a/lib/alterl/src/thrift_server.erl
+++ b/lib/alterl/src/thrift_server.erl
@@ -19,7 +19,6 @@
 -define(SERVER, ?MODULE).
 
 -record(state, {listen_socket, acceptor, service}).
--record(handler, {module}).
 
 %%====================================================================
 %% API
@@ -42,8 +41,7 @@
 %%                         {stop, Reason}
 %% Description: Initiates the server
 %%--------------------------------------------------------------------
-init({Port, Service, HandlerModule}) ->
-    Handler = #handler{module = HandlerModule},
+init({Port, Service, Handler}) ->
     {ok, Socket} = gen_tcp:listen(Port,
                                   [binary,
                                    {packet, 0},
@@ -109,7 +107,7 @@
 %%--------------------------------------------------------------------
 
 acceptor(ListenSocket, Service, Handler)
-  when is_port(ListenSocket), is_record(Handler, handler) ->
+  when is_port(ListenSocket), is_atom(Handler) ->
     {ok, Socket} = gen_tcp:accept(ListenSocket),
     error_logger:info_msg("Accepted client"),
 
diff --git a/lib/alterl/src/thrift_service.erl b/lib/alterl/src/thrift_service.erl
index 89479c8..1ecfb9d 100644
--- a/lib/alterl/src/thrift_service.erl
+++ b/lib/alterl/src/thrift_service.erl
@@ -3,4 +3,4 @@
 -export([behaviour_info/1]).
 
 behaviour_info(callbacks) ->
-    [{service_info, 1}].
+    [{function_info, 2}].
