working sort *slow*