diff --git a/COPYING b/COPYING
new file mode 100644
index 0000000..039f21e
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,24 @@
+Thrift Software License
+Copyright (c) 2006- Facebook, Inc. 
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..039f21e
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,24 @@
+Thrift Software License
+Copyright (c) 2006- Facebook, Inc. 
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/README b/README
index 4040e5e..26a53f7 100644
--- a/README
+++ b/README
@@ -1,34 +1,25 @@
-Thrift (Thrift IDL and RPC tool)                   Version 1.0  (22 August 2006)
+Thrift (Thrift IDL and RPC tool)
+Version 1.0  (22 August 2006)
 
 Mark Slee (mcslee@facebook.com)
+Aditya Agarwal (aditya@facebook.com)
 Marc Kwiatkowski (marc@facebook.com)
 
 $Header$
 
-Copyright (c) 2006, Facebook, Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
-
-* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
-* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
-* Neither the name of Facebook, inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-Copyright (C) 2001-2006  Facebook
+Thrift is distributed under the Thrift open source software license.
+Please see the included LICENSE file.
 
 Introduction
 ============
 
-Thrift is a lightweight, language-independent RPC mechanism.  
+Thrift is a lightweight, language-independent software stack with an
+associated code generation mechanism for RPC.
 
 Requirements
 ============
-Thrift requires Python 2.4 or greater and PLY, the python LALR generator tool, 1.7 or greater.
-See python.org for source and binary distributions for python
-See http://www.dabeaz.com/ply/ply.html for the PLY distribution and documentation 
-
-Thrift requires boost shared pointers from boost-1.33.1 or greater, see http://www.boost.org/libs/smart_ptr/smart_ptr.htm
+Thrift requires boost shared pointers from boost-1.33.1 or greater,
+see http://www.boost.org/libs/smart_ptr/smart_ptr.htm
 
 Resources
 =========
@@ -45,21 +36,25 @@
 INSTALLATION
 ============
 
-If you are building from the first time out of the source repository, you will need to generate the configure scripts.  From the top directory, do:
+If you are building from the first time out of the source repository, you will
+need to generate the configure scripts.  From the top directory, do:
 
 	./bootstrap.sh
 
-Once the configure scripts are generated, thrift can be configured.  From the top directory, do:
+Once the configure scripts are generated, thrift can be configured.
+From the top directory, do:
 
 	./configure
 
-You may need to specify the location of the boost files explicitly:   If you installed boost in  /usr/local, you would run configure as follows:
+You may need to specify the location of the boost files explicitly.
+If you installed boost in  /usr/local, you would run configure as follows:
 
 	./configure --with-boost=/usr/local
 
-Note that by default the thrift C++ library is built with no debugging symbols included. If you would like debugging symbols during development work, run:
+Note that by default the thrift C++ library is built with no debugging symbols
+included. If you would like debugging symbols during development work, run:
 
-        ./configure --CFLAGS='-g -O2'
+        ./configure CFLAGS='-g -O2'
 
 Run ./configure --help to see other configuration options
 
@@ -70,5 +65,3 @@
 From the top directory, become superuser and do:
 
 	make install
-
-
diff --git a/cleanup.sh b/cleanup.sh
index 2cf4c00..98e8190 100755
--- a/cleanup.sh
+++ b/cleanup.sh
@@ -4,7 +4,6 @@
 
 rm -rf \
 AUTHORS \
-COPYING \
 ChangeLog \
 INSTALL \
 Makefile.am \
diff --git a/compiler/cpp/COPYING b/compiler/cpp/COPYING
new file mode 100644
index 0000000..039f21e
--- /dev/null
+++ b/compiler/cpp/COPYING
@@ -0,0 +1,24 @@
+Thrift Software License
+Copyright (c) 2006- Facebook, Inc. 
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/compiler/cpp/LICENSE b/compiler/cpp/LICENSE
new file mode 100644
index 0000000..039f21e
--- /dev/null
+++ b/compiler/cpp/LICENSE
@@ -0,0 +1,24 @@
+Thrift Software License
+Copyright (c) 2006- Facebook, Inc. 
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/compiler/cpp/cleanup.sh b/compiler/cpp/cleanup.sh
index 9cea039..7415fd8 100755
--- a/compiler/cpp/cleanup.sh
+++ b/compiler/cpp/cleanup.sh
@@ -2,7 +2,6 @@
 
 rm -rf \
 AUTHORS \
-COPYING \
 ChangeLog \
 INSTALL \
 Makefile \
diff --git a/doc/README b/doc/README
deleted file mode 100644
index 1ff665f..0000000
--- a/doc/README
+++ /dev/null
@@ -1,20 +0,0 @@
-THRIFT v0.01
-
-Some time soon this document will tell you all about Thrift, what it does, how
-it was designed, oh and some other stuff too. But in the meantime, all it does
-is tell you that Thrift is the 2nd coming of Pillar, originally written by
-the great Adam D'Angelo, and now manned mainly by mcslee and aditya at
-facebook.com.
-
-Oh yeah... a few rules:
-
-1) This shit is open source. Don't mess.
-
-2) Mark Slee is anal about coding standards and commenting, especially because
-   this is open source. Again, don't mess.
-
-3) You need three things to make a few. Otherwise call it a couple.
-
-That's all.
-
--mcslee, May 22, 2006
diff --git a/lib/cpp/COPYING b/lib/cpp/COPYING
new file mode 100644
index 0000000..039f21e
--- /dev/null
+++ b/lib/cpp/COPYING
@@ -0,0 +1,24 @@
+Thrift Software License
+Copyright (c) 2006- Facebook, Inc. 
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/lib/cpp/LICENSE b/lib/cpp/LICENSE
new file mode 100644
index 0000000..039f21e
--- /dev/null
+++ b/lib/cpp/LICENSE
@@ -0,0 +1,24 @@
+Thrift Software License
+Copyright (c) 2006- Facebook, Inc. 
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/lib/cpp/cleanup.sh b/lib/cpp/cleanup.sh
index 8e5d217..d026a46 100755
--- a/lib/cpp/cleanup.sh
+++ b/lib/cpp/cleanup.sh
@@ -2,7 +2,6 @@
 
 rm -rf \
 AUTHORS \
-COPYING \
 ChangeLog \
 INSTALL \
 Makefile \
diff --git a/lib/php/COPYING b/lib/php/COPYING
new file mode 100644
index 0000000..039f21e
--- /dev/null
+++ b/lib/php/COPYING
@@ -0,0 +1,24 @@
+Thrift Software License
+Copyright (c) 2006- Facebook, Inc. 
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/lib/php/LICENSE b/lib/php/LICENSE
new file mode 100644
index 0000000..039f21e
--- /dev/null
+++ b/lib/php/LICENSE
@@ -0,0 +1,24 @@
+Thrift Software License
+Copyright (c) 2006- Facebook, Inc. 
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/lib/php/cleanup.sh b/lib/php/cleanup.sh
index 8e5d217..d026a46 100755
--- a/lib/php/cleanup.sh
+++ b/lib/php/cleanup.sh
@@ -2,7 +2,6 @@
 
 rm -rf \
 AUTHORS \
-COPYING \
 ChangeLog \
 INSTALL \
 Makefile \
diff --git a/lib/py/COPYING b/lib/py/COPYING
new file mode 100644
index 0000000..039f21e
--- /dev/null
+++ b/lib/py/COPYING
@@ -0,0 +1,24 @@
+Thrift Software License
+Copyright (c) 2006- Facebook, Inc. 
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/lib/py/LICENSE b/lib/py/LICENSE
new file mode 100644
index 0000000..039f21e
--- /dev/null
+++ b/lib/py/LICENSE
@@ -0,0 +1,24 @@
+Thrift Software License
+Copyright (c) 2006- Facebook, Inc. 
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.
diff --git a/lib/py/cleanup.sh b/lib/py/cleanup.sh
index 8e5d217..d026a46 100755
--- a/lib/py/cleanup.sh
+++ b/lib/py/cleanup.sh
@@ -2,7 +2,6 @@
 
 rm -rf \
 AUTHORS \
-COPYING \
 ChangeLog \
 INSTALL \
 Makefile \
diff --git a/test/py/TestClient.py b/test/py/TestClient.py
index 3e48733..07066e3 100755
--- a/test/py/TestClient.py
+++ b/test/py/TestClient.py
@@ -1,14 +1,16 @@
-#!/usr/bin/python
+#!/usr/bin/env python
 
 import sys
 sys.path.append('./gen-py')
 
-import ThriftTest
-from ThriftTest_types import *
+from ThriftTest import ThriftTest
+from ThriftTest.ttypes import *
 from thrift.transport import TTransport
 from thrift.transport import TSocket
 from thrift.protocol import TBinaryProtocol
 
+import time
+
 import hotshot
 from hotshot import stats
 prof = None
@@ -17,8 +19,6 @@
 #prof = hotshot.Profile('hotshot_thrift_stats')
 #prof.start()
 
-import timing
-
 host = 'localhost'
 port = 9090
 framed = False
@@ -55,11 +55,15 @@
 transport.open()
 
 # Start debug timing
-timing.start()
+tstart = time.time()
 
-print "testVoid()"
-print client.testVoid()
-
+try:
+  print "testVoid()"
+  print client.testVoid()
+except TApplicationException, x:
+  print x.message
+  print x.type
+  
 print "testString('Python')"
 print client.testString('Python')
 
@@ -97,8 +101,9 @@
 except Xception, x:
   print "Xception (%d, %s)" % (x.errorCode, x.message)
 
-timing.finish()
-print "Total time: %d microsecs" % timing.micro()
+tend = time.time()
+ttotal = (tend-tstart)*1000
+print "Total time: %f ms" % (ttotal)
 
 # Close!
 transport.close()
diff --git a/test/py/TestServer.py b/test/py/TestServer.py
index e3f76f8..68e0bd5 100755
--- a/test/py/TestServer.py
+++ b/test/py/TestServer.py
@@ -1,10 +1,10 @@
-#!/usr/bin/python
+#!/usr/bin/env python
 
 import sys
 sys.path.append('./gen-py')
 
-import ThriftTest
-from ThriftTest_types import *
+from ThriftTest import ThriftTest
+from ThriftTest.ttypes import *
 from thrift.transport import TTransport
 from thrift.transport import TSocket
 from thrift.protocol import TBinaryProtocol
