add array iterator