working on mergesort