Updated forward iteration