insertion sort, completed