corrected behaviour with iterations