adding iterative quick select