Implemented Merge Sort