add bisection search