new implementation of bvh, still slower!