improved root finding a bit; will need special handling