improve iterator call