some more work done on the book adding functions