refactor quickhull
add recursion in quickhull - split calculation prone to errors