Iterative approach