Modified for convergence loop.  Untested.