diff --git a/bullet.cabal b/bullet.cabal
--- a/bullet.cabal
+++ b/bullet.cabal
@@ -1,5 +1,5 @@
 Name:                bullet
-Version:             0.2.1
+Version:             0.2.2
 Synopsis:            A wrapper for the Bullet physics engine.
 Description:         A wrapper for the Bullet physics engine.
 License:             BSD3
@@ -16,6 +16,7 @@
 Extra-Source-Files:
   cbits/Bullet.h
   cbits/HaskellBulletAPI.h
+  cbits/GLDebugDrawer.h
 
   bullet/LICENSE
   bullet/BulletCollision/BroadphaseCollision/btBroadphaseInterface.h
diff --git a/cbits/GLDebugDrawer.h b/cbits/GLDebugDrawer.h
new file mode 100644
--- /dev/null
+++ b/cbits/GLDebugDrawer.h
@@ -0,0 +1,37 @@
+#ifndef GL_DEBUG_DRAWER_H
+#define GL_DEBUG_DRAWER_H
+
+#include "LinearMath/btIDebugDraw.h"
+
+
+
+class btGLDebugDrawer : public btIDebugDraw
+{
+	int m_debugMode;
+
+public:
+
+	btGLDebugDrawer();
+
+	virtual void	drawLine(const btVector3& from,const btVector3& to,const btVector3& fromColor, const btVector3& toColor);
+
+	virtual void	drawLine(const btVector3& from,const btVector3& to,const btVector3& color);
+
+	virtual void	drawSphere (const btVector3& p, btScalar radius, const btVector3& color);
+	virtual void	drawBox (const btVector3& boxMin, const btVector3& boxMax, const btVector3& color, btScalar alpha);
+
+	virtual void	drawTriangle(const btVector3& a,const btVector3& b,const btVector3& c,const btVector3& color,btScalar alpha);
+	
+	virtual void	drawContactPoint(const btVector3& PointOnB,const btVector3& normalOnB,btScalar distance,int lifeTime,const btVector3& color);
+
+	virtual void	reportErrorWarning(const char* warningString);
+
+	virtual void	draw3dText(const btVector3& location,const char* textString);
+
+	virtual void	setDebugMode(int debugMode);
+
+	virtual int		getDebugMode() const { return m_debugMode;}
+
+};
+
+#endif//GL_DEBUG_DRAWER_H
