add binary insertion sort