after some suggestions i got a solution, but i’m struggling to understand the process, the order of steps, etc. and it seems impossible to see it with some console logs as its recursive.

anyone got a quick description of the step by step process at play here? does the lesser recursion go first? it seems to import multiple pivots with one call to a singular pivot. i can’t even ask the question very well with this, lol.

```
**Your code so far**
```

```
function quickSort(array) {
if(array.length <= 1) { return array }
const lesser=[]
const greater=[]
const pivot = array[array.length-1]
for(let i=0;i<array.length-1;i++){
if(array[i]<pivot){lesser.push(array[i])}
else{greater.push(array[i])}
}
return [ ...quickSort(lesser), pivot, ...quickSort(greater)]
// FIRST RECURSIVE LESSER FINDS ORDER TO FIRST ~HALF...
// ?THEN WHATS LEFT IN THE GREATER IS RECURSED INTO ORDER
}
console.log('result:', quickSort([1,4,2,8,345,123,43,32,5643,63,1]))
```

```
**Your browser information:**
```

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.115 Safari/537.36`

**Challenge:** Implement Quick Sort

**Link to the challenge:**