added a wonky merge sort impl