add bisection method for more robustness than GSS