diff --git a/lib/erl/src/tApplicationException.erl b/lib/erl/src/tApplicationException.erl
index 568b9c9..d99b003 100644
--- a/lib/erl/src/tApplicationException.erl
+++ b/lib/erl/src/tApplicationException.erl
@@ -1,6 +1,6 @@
 %%% Copyright (c) 2007- Facebook
 %%% Distributed under the Thrift Software License
-%%% 
+%%%
 %%% See accompanying file LICENSE or visit the Thrift site at:
 %%% http://developers.facebook.com/thrift/
 
@@ -22,9 +22,8 @@
 %%% 'super' is required unless ?MODULE is a base class
 %%%
 
-?DEFINE_ATTR(super);
-?DEFINE_ATTR(type).
-   
+?DEFINE_ATTR(super).
+
 %%%
 %%% behavior callbacks
 %%%
@@ -38,15 +37,15 @@
 %%% inspect(This) -> string()
 
 inspect(This) ->
-    ?FORMAT_ATTR(type).
+    "".
 
 %%%
 %%% class methods
 %%%
 
 new(Type, Message) ->
-    Super = (super()):new(Message),
-    #?MODULE{super=Super, type=Type}.
+    Super = (super()):new(Type, Message),
+    #?MODULE{super=Super}.
 
 new()     -> new(?tApplicationException_UNKNOWN, undefined).
 new(Type) -> new(Type, undefined).
@@ -64,49 +63,49 @@
 read_while_loop(This, Iprot) ->
     {_Fname, Ftype, Fid} = ?R0(Iprot, readFieldBegin),
 
-    if 
-	Ftype == ?tType_STOP ->
-	    ok;
+    if
+        Ftype == ?tType_STOP ->
+            ok;
 
-	(Fid == 1) and (Ftype == ?tType_STRING) ->
-	    Message1 = ?R0(Iprot, readString),
-	    This1 = oop:set(This, message, Message1),
-	    ?R0(Iprot, readFieldEnd),
-	    read_while_loop(This1, Iprot);
+        (Fid == 1) and (Ftype == ?tType_STRING) ->
+            Message1 = ?R0(Iprot, readString),
+            This1 = oop:set(This, message, Message1),
+            ?R0(Iprot, readFieldEnd),
+            read_while_loop(This1, Iprot);
 
-	Fid == 1 ->
-	    ?R0(Iprot, skip),
-	    ?R0(Iprot, readFieldEnd),
-	    read_while_loop(This, Iprot);
+        Fid == 1 ->
+            ?R0(Iprot, skip),
+            ?R0(Iprot, readFieldEnd),
+            read_while_loop(This, Iprot);
 
-	(Fid == 2) and (Ftype == ?tType_I32) ->
-	    Type1 = ?R0(Iprot, readI32),
-	    This1 = oop:set(This, type, Type1),
-	    ?R0(Iprot, readFieldEnd),
-	    read_while_loop(This1, Iprot);
+        (Fid == 2) and (Ftype == ?tType_I32) ->
+            Type1 = ?R0(Iprot, readI32),
+            This1 = oop:set(This, type, Type1),
+            ?R0(Iprot, readFieldEnd),
+            read_while_loop(This1, Iprot);
 
-        true -> 
-	    ?R0(Iprot, skip),
-	    ?R0(Iprot, readFieldEnd),
-	    read_while_loop(This, Iprot)
+        true ->
+            ?R0(Iprot, skip),
+            ?R0(Iprot, readFieldEnd),
+            read_while_loop(This, Iprot)
     end.
 
-write(This, Oprot) ->	
+write(This, Oprot) ->
     ?R1(Oprot, writeStructBegin, "tApplicationException"),
     Message = oop:get(This, message),
     Type    = oop:get(This, type),
 
-    if	Message /= undefined ->
-	    ?R3(Oprot, writeFieldBegin, "message", ?tType_STRING, 1),
-	    ?R1(Oprot, writeString, Message),
-	    ?R0(Oprot, writeFieldEnd);
+    if Message /= undefined ->
+            ?R3(Oprot, writeFieldBegin, "message", ?tType_STRING, 1),
+            ?R1(Oprot, writeString, Message),
+            ?R0(Oprot, writeFieldEnd);
         true -> ok
     end,
 
-    if  Type /= undefined -> 
-	    ?R3(Oprot, writeFieldBegin, "type", ?tType_I32, 2),
-	    ?R1(Oprot, writeI32, Type),
-	    ?R0(Oprot, writeFieldEnd);
+    if  Type /= undefined ->
+            ?R3(Oprot, writeFieldBegin, "type", ?tType_I32, 2),
+            ?R1(Oprot, writeI32, Type),
+            ?R0(Oprot, writeFieldEnd);
         true -> ok
     end,
 
