understand array_list