imporve iter