fix to break out of loop if it looks like we aren't converging.
Some more cleanup, but no idea if R2 will hit .9999