planned iterator