empty smart iterator