implement add book.