improved add new book