refactor extract book and move fragment out,and extract dataFetcher