added chapter list support and addition refactoring