improved pooled iterator