update to include all necessary iterators, correct pivot finder, correct switching process, correct recursing. still has assertation erros