update bisection method, ala J Merrills blog post