updated iteration skeleton