Most of the EPA (Expanding Polytope Algorithm) is complete except for one function to detect the closest edge and then bug testing.