Improve gen_list class