Iterative variant