added basic DNM iterator functionality