refactor chapter_list