It is a bit unusual to name the parameters p2, p1 instead of p1, p2.

It make it look like the function sorts into ascending order, when in fact it is descending.