1. use bookid/chapterid instead of catalog
2. implement search