implemented nd_range_iterator