solve iterator