In this paper we tackle the problem of tetrahedralization by breaking non-convex polyhedra into convex subpolyhedra, tetrahedralizing these convex subpolyhedra and merging them together. We generate a Binary Space Partition (BSP) tree from the triangular faces of a polyhedron and use this to identify the convex subpolyhedra in the polyhedron. Each convex subpolyhedron is tetrahedralized individually. Using an original merging process, the boundaries between these subpolyhedra are joined and tetrahedralized, ensuring that no tetrahedra are created outside of the original polyhedron in this merging process.