diff --git a/VirtualRobot/CollisionDetection/PQP/PQP++/BV.h b/VirtualRobot/CollisionDetection/PQP/PQP++/BV.h
index a5a39ff92d0d55db2fecf0356e52fa67c62cc659..fab6d04d342a8f467a0275f65cfbc94d3a8fe24e 100644
--- a/VirtualRobot/CollisionDetection/PQP/PQP++/BV.h
+++ b/VirtualRobot/CollisionDetection/PQP/PQP++/BV.h
@@ -104,7 +104,7 @@ namespace PQP
 
     private:
 #if PQP_BV_TYPE & OBB_TYPE
-        OBB_Processor o;
+        //        OBB_Processor o;
 #endif
         Rect_Processor p;
     };
diff --git a/VirtualRobot/CollisionDetection/PQP/PQP++/unity_build.cpp b/VirtualRobot/CollisionDetection/PQP/PQP++/unity_build.cpp
index 69aef305db13af6a557058fdc55af32f40a73e68..493f791a288e451f85cc1dbfddc20d6fe5d0fb9e 100644
--- a/VirtualRobot/CollisionDetection/PQP/PQP++/unity_build.cpp
+++ b/VirtualRobot/CollisionDetection/PQP/PQP++/unity_build.cpp
@@ -1645,15 +1645,29 @@ namespace PQP
         // first thing, see if we're overlapping
 
         res->num_bv_tests++;
-        BV_Processor p;
 
         auto o1cb1 = o1->child(b1);
         auto o2cb2 = o2->child(b2);
 
+#if 0 & PQP_BV_TYPE & OBB_TYPE
+        //manually inlined version
+        //inlined fn
+        //BV_Processor::BV_Overlap(PQP_REAL R[3][3], PQP_REAL T[3], BV* b1, BV* b2)
+        //{
+        //    return (OBB_Processor::obb_disjoint(R, T, b1->d, b2->d) == 0);
+        //}
+        if (OBB_Processor::obb_disjoint(R, T, o1cb1->d, o2cb2->d) != 0)
+        {
+            return;
+        }
+#else
+        //original version
+        BV_Processor p;
         if (!p.BV_Overlap(R, T, o1cb1, o2cb2))
         {
             return;
         }
+#endif
 
         // if we are, see if we test triangles next