implementation doc for merge sort