diff --git a/lib/cpp/src/Thrift.h b/lib/cpp/src/Thrift.h
index c21b0a5..92143cc 100644
--- a/lib/cpp/src/Thrift.h
+++ b/lib/cpp/src/Thrift.h
@@ -10,6 +10,8 @@
 #include <vector>
 #include <exception>
 
+#include "TLogging.h"
+
 namespace facebook { namespace thrift {
 
 class Exception : public std::exception {
diff --git a/lib/cpp/src/server/TServer.h b/lib/cpp/src/server/TServer.h
index eb23b45..293aa28 100644
--- a/lib/cpp/src/server/TServer.h
+++ b/lib/cpp/src/server/TServer.h
@@ -21,10 +21,13 @@
  *
  * @author Mark Slee <mcslee@facebook.com>
  */
-class TServer {
+class TServer : public concurrency::Runnable {
 public:
   virtual ~TServer() {}
   virtual void serve() = 0;
+
+  // Allows running the server as a Runnable thread
+  virtual void run() { serve(); }
   
   shared_ptr<TProcessor> getProcessor() {
     return processor_;
diff --git a/lib/cpp/src/transport/TBufferedTransport.cc b/lib/cpp/src/transport/TBufferedTransport.cc
index cab02df..9dfd63a 100644
--- a/lib/cpp/src/transport/TBufferedTransport.cc
+++ b/lib/cpp/src/transport/TBufferedTransport.cc
@@ -15,6 +15,7 @@
       buf += rLen_-rPos_;
     }    
     // Get more from underlying transport up to buffer size
+    // TODO: should this be a readAll?
     rLen_ = transport_->read(rBuf_, rBufSize_);
     rPos_ = 0;
   }
diff --git a/lib/cpp/src/transport/TBufferedTransport.h b/lib/cpp/src/transport/TBufferedTransport.h
index 0783ca4..9992777 100644
--- a/lib/cpp/src/transport/TBufferedTransport.h
+++ b/lib/cpp/src/transport/TBufferedTransport.h
@@ -60,12 +60,8 @@
     transport_->close();
   }
 
-  uint32_t readAll(uint8_t* buf, uint32_t len) {
-    return transport_->readAll(buf, len);
-  }
-  
   uint32_t read(uint8_t* buf, uint32_t len);
-
+  
   void write(const uint8_t* buf, uint32_t len);
 
   void flush();
diff --git a/lib/cpp/src/transport/TTransport.h b/lib/cpp/src/transport/TTransport.h
index 1a20bd5..c5456d5 100644
--- a/lib/cpp/src/transport/TTransport.h
+++ b/lib/cpp/src/transport/TTransport.h
@@ -1,6 +1,7 @@
 #ifndef _THRIFT_TRANSPORT_TTRANSPORT_H_
 #define _THRIFT_TRANSPORT_TTRANSPORT_H_ 1
 
+#include "Thrift.h"
 #include <transport/TTransportException.h>
 #include <string>
 
@@ -72,7 +73,7 @@
       }
       have += get;
     }
-
+    
     return have;
   }
 
