iter loop, convergence check implemented, need to test