work on mergesort