iterative ring