redo add book to conform to data model