add different version of qsort