shaping the iteration