separating private and public functions in book.h