refactor chapter_list component out