any reason for the two $iterator ?