added cursor/array iterator