Added bisection method