add varied binary search