more snazzy mergesort ... hopefully