better merge sort
read me