struct of iterator