implement range, make_array