April 2026
S M T W T F S
« Mar    
 1234
567891011
12131415161718
19202122232425
2627282930  

Review: The Beekeeper’s Apprentice, Laurie R. King

the beekeeper's apprenticeMary Russell stumbles upon the great Sherlock Holmes while rambling in the countryside. He’s retired – supposedly – to take up beekeeping, but her young mind is agile and ready to be challenged. After she proves herself, he takes her on as an apprentice, and the two begin to solve crimes together.

The central premise of this book is the idea that Sherlock Holmes was a real person, and the books and stories featuring him were elaborate fictionalizations of his real-life crime-solving. In his older years, Holmes still solves crimes, but does his best to stay out of the public eye. Still, Mary knows who he is, and as the central narrator, is determined to keep him within her sites. Soon we discover that her intellect is quite up to his as her own skills develop over the course of the novel.

Roughly the first half of this book is set out in episodes. Mary and Holmes set out to solve a couple of crimes together as he begins to train her. After she’s accepted as a fully fledged apprentice, the book gains more speed as the crimes get somewhat more desperate. Naturally, our two central characters also begin to develop a relationship with one another, both a respect for each other’s minds and a whole-hearted affection for each other’s character.

I was surprised by how much I genuinely enjoyed this book. Mysteries in the style of Sherlock Holmes frustrate me more often than not; because so much of the conclusions are derived from information that is never presented to the reader, it can be easy to get annoyed that it’s impossible to guess the conclusion. With this, though, I seem to have developed the ability to ignore that and simply follow the two characters along their journey. I suspect this is because the mysteries, while important to the plot, are not all that holds the book together. The narrative is very well done and the relationships between the characters develop naturally and realistically. About halfway through, I realized I just didn’t want to put the book down; I wanted to continue and find out what happened next.

I’m a bit late to this series, and now there are a number of installments that I’ll need to catch up on. I’ve known of it for quite some time, but never really had the impulse to begin until I was offered the latest book for review. So I’ll be skipping ahead to the last book, but believe me when I say I’ll also catch up on the ones I’ve missed. The Beekeeper’s Apprentice is a great start to a series I’m very happy to have finally discovered.

All book links to external sites are affiliate links. I purchased this book.

Share

Review: The Wild Rose, Jennifer Donnelly

This book follows directly on from The Tea Rose and The Winter Rose. As a result, this review will have spoilers for both.

Though Seamie Finnegan and Willa Alden love each other, they were driven apart by an accident resulting in the loss of Willa’s leg. Now, unable to satisfy her greatest passion of climbing, Willa spends most of her time finding other ways to endanger herself and live on the edge. She spends her time photographing mountains in Tibet, following wars, and getting captured. Seamie, meanwhile, can’t forget Willa or cease worrying about her, no matter how hard he tries; even burying his sorrows in the pursuit of other women can’t seem to erase his memory of her.

Surrounding the couple are a cast familiar to anyone who has read any of the Rose trilogy – Fiona and Joe, who are getting older now, their brigade of children, India and Sid, and other more minor characters from the earlier books. It’s always nice to see familiar characters again; Seamie himself has been in all of the books, while Willa featured prominently in the last one. Part of the appeal of such a series is definitely getting stuck in with characters to care about.

Unfortunately, that was one of the flaws in this book for me; I couldn’t like the characters that Willa and Seamie became. Willa is driven to do truly ridiculous deeds simply to escape the fact that she’s lost her leg, to defy death just because she can – and because she doesn’t care if it takes her. Despite her seemingly courageous behavior, she complained. Often. Seamie, meanwhile, treats one character in particular very badly, and makes promises that he simply can’t keep. I couldn’t like characters that could act like this, no matter how strong their love is supposed to be.

As with all of the books, there are several other plots going on. We are deep in the midst of World War I for much of the book, with an associated German espionage plot taking up a lot of the book’s time. That had an unexpected ending, one which actually made me consider reading the book over again to see if I could pick up the pieces. Fiona and Joe’s children are growing up, with their oldest girl taking on a political mind of her own and one of their sons off to fight in the war. And India does what she does best, doctoring the soldiers who return even as she worries about the ones that she herself loves.

The book held my attention, though, and does deal with some more complicated issues. The effect of front line warfare on a person’s mind, for instance, is one that is surprisingly hard hitting towards the end of the book. Infidelity plagues several characters, as does blackmail and the difficult circumstances people find themselves in during wartime.

Personally, though, I felt like this particular installment suffered more from the same flaws as the first one, with characters that are simply too large for life and are difficult to believe in. Too many famous people in one family, too many lucky escapes; even the share of tragedy the book has doesn’t quite outweigh this for me. It’s a good read, but this series for me just doesn’t match Donnelly’s standalone works. Still, I’d recommend the entire trilogy to those who seek out well-written historical family sagas. The Wild Rose is a good read – just don’t expect it to be A Northern Light.

All book links to external sites are affiliate links. I received this book for free for review from Netgalley.

Share

TSS: Genre Preferences (or, Hello! I am back!)

Hello everyone! It has been a very long two weeks away from regular internet access, and I’m thrilled to say that those two weeks are over. I have felt so out of the loop; I know I lurk far too often on others’ blogs, but I love to read what’s going on even if I can’t think of anything intelligent to respond. Missing out on that has been tough, although you may have spotted me trying to comment on my lunch breaks at work. I have a lot of catching up to do this week, as next week I’m off to Amsterdam and Bruges.

Our move is now pretty much complete; boxes as usual still have to be unpacked and everything put away, but we’ve made some progress and we’ll get there eventually. I’ve now been in my new job for a month and it’s going well. Mostly I love having an hour lunch break – an hour feels so long! I can actually manage to write a review in that amount of time if I already have my thoughts together, as I did twice over the past couple of weeks. I have a feeling that hour is going to be filled with blogging quite frequently even with the internet available at home.

While I was busy not having the ability to blog, I spent a lot of time thinking about my reading and the way it’s going. Namely, that I really have almost no interest in historical fiction at all. It’s strange, because I’ve enjoyed a number of historical fiction novels over the past couple of months, but when I head to a bookstore I have no interest in perusing new ones. Covers that once would have made me drool with anticipation are now avoided. I’ve gone completely away from any fiction that has anything to do with medieval history, for instance; I’d just so much rather read non-fiction that I lose interest very quickly.

I suppose what it comes down to is the same subjects recycled over and over. Tudor fiction, for instance, really has nothing left to offer at this point. Medieval history usually is about the Wars of the Roses, which I do adore, but not in fiction any longer, or Eleanor of Aquitaine, who really I already know enough about at this point. Authors I love write these books, and I’m sure they’re wonderful, and yet I have little to no interest about them.

What does interest me? Different time periods, different locations, imaginative storylines; I read The Beekeeper’s Apprentice by Laurie R. King last week and it was fantastic. Rules of Civility was similarly amazing. So maybe it’s just that I can’t look in the well-worn grooves of my past favorites for new ones. That wouldn’t surprise me, as I’ve always read widely, and I’ve been reading a majority of historical fiction for a long time now.

young milesI’m definitely swinging back towards speculative fiction. I am absolutely adoring the Vorkosigan saga, which I never expected to like. I cannot wait to tell you about Young Miles, a book which had a surprising number of layers and which I could not put down. It also managed to prove that long books don’t scare me away when I can’t tell how long they actually are (thank you, Kindle), as its apparent 824 pages sped by in a couple of days. I’m now deep in Cordelia’s Honor and wishing I could just read the whole series with no regard to any of the many books I have for review.

I also read The Last Unicorn by Peter S. Beagle, which you can imagine was incredibly beautiful and another classic I can’t believe I missed. I’ll read them all, someday, but in the meantime I’d best get on with telling you about these.

In any case, I’ll just roll with what’s been catching my interest, and I hope you’ll roll along with me, even if this blog is now far from what its title promises.

Have a great Sunday, and a fantastic week.

Share

Review: Outside the Ordinary World, Dori Ostermiller

outside the ordinary worldAs a child, Sylvia idolizes her beautiful, poised mother, who presents precisely the perfect image to the world – a stereotypically ideal wife and mother. But inside, Sylvia’s mother is anything but, as she’s been carrying on an adulterous affair and involving her children for years. As an adult, Sylvia has a husband and family of her own. She’s grown frustrated with her life and family, trapped in a seeming prison of her own making, until she meets Tai, the father of one of her art students. She’s irresistibly drawn to him. Can she avoid repeating her mother’s mistakes?

This book is told through two different time periods, both through Sylvia’s eyes; her childhood while she watches her mother slowly unravel her family’s life, and her adulthood where she is finally tempted by a man who isn’t her husband. This was an effective technique for telling the story, as each timeline has its own secrets that aren’t revealed until later in the novel. Both the narrative voices are (obviously) similar but never presented any problems in differentiating themselves to me.

What Sylvia slowly begins to realize is that her adult life has begun to parallel her mother’s, although it takes her a lot longer than it does for the reader. She hasn’t defined herself quite enough for her tastes. She’s an art teacher, but she feels as though she’s lost her own art. Her husband has buried himself in their new house, a project that’s been ongoing for years. Her younger child still needs her, but her older daughter is starting to grow apart from her, and her responsibilities are overwhelming her. She’s not sure where she is in her life, and in steps Tai, a chance to define herself apart from her family, a man who wants to give her attention just as she is. Even as she does that, she’s still not defining herself, merely repeating her mother’s footsteps.

In this sense, the novel is really about the quest of a woman reaching middle age to create her own identity. As readers we can see precisely why she is captivated by Tai, although he remains a more mysterious character. She needs to feel loved again, just for who she is without any of the trappings of her ordinary life.

The novel also carefully explores the damage that infidelity can wreak on a marriage and family, the slow but inexorable ways that couples who love one another deeply are led into adultery, and the difficulties of trying to keep together a marriage despite those faults. Would you stay with someone who had cheated so on you? Even Tai’s son is a victim, though neither Sylvia nor Tai appear to consider those consequences until it’s too late.

This thoughtful novel is an excellent choice for anyone who enjoys fiction about the inner workings of women’s lives and the difficulties wrought on relationships by infidelity. Outside the Ordinary World is a read that will linger in your mind long after you’ve turned the final page.

All book links to external sites are affiliate links. I received this book for free for review.

Share

Review: Ready Player One, Ernest Cline

In 2044, the US has all but collapsed. Most people, including an impoverished boy called Wade Watts, spend almost all of their time in OASIS, a virtual reality game created by James Halliday. When Halliday dies, he doesn’t create a will, but leaves everything he owns to the finder of an Easter egg (a secret within a game) he’s cleverly hidden within OASIS. The secret is hidden within 80’s references and challenges. Naturally, this gives rise instantly to hunters called “gunters” seeking the Egg. Wade, under his pseudonym Parzival, is the first to find one of the key components of the secret, but finds his life and those of his fellow questers are in very real danger from the “Sixers”, a corporate group determined to seize OASIS for themselves.

I loved this book. Absolutely loved every minute of it. Cline does not miss a beat in this phenomenal dystopia, not from the storyline to the characters to the writing itself. It’s the perfect book for gamers, in particular those who remember the old days fondly, and for those who adore adventure, a touch of romance, and thinking about that essential question – “What if?” What if the recession continues? What if virtual worlds take on the real one? What is reality?

I’m not quite old enough to have witnessed 80’s gaming in person, but I’ve been a gamer since I was only 4 and have been surrounded by the same references Cline uses throughout my life. The book is littered with gaming trivia, but I don’t think it would be difficult for a non-gamer to understand, as Wade is an excellent narrator and elucidates every small point, somehow without detracting from the narrative, as the book continues.

And what a narrative it is as Wade takes us on his own personal adventure. It may be a mix of real and virtual, but this is a story to be swept up in. The narrative follows Wade’s journey to find the three keys and gates in hopes that either he or one of the more honest gunters will find the Easter egg before the corporations or the government can do so. OASIS is free and an essential resource for the poor, who use it for easy access to education and an escape from their generally dim, impoverished lives. Wade’s journey is a true adventure in the best sense of the world as he conquers challenges he could barely have imagined, stretching brain and virtual limits to attain his objective. He grows not only physically and mentally but personally, stretching into the persona of Parzival and escaping his past.

Also, as a medievalist, can I tell you how awesome the name choice of “Parzival” is for this character? Arthurian legends mixed with video games! Parzival was a knight who went on a quest for the Holy Grail. How fitting – the Easter Egg is very much a modern Holy Grail.

The supporting characters are equally wonderful, and it’s hard to describe them without spoiling the story. Given that all the characters sport avatars that do not have to match their physical appearances, you can guess what might happen – I was absolutely delighted with the way that Cline handled this aspect of the story and found it completely fitting for our world, subverting expectations in the best ways. Imperfections can be beautiful, too.

As you can probably tell, I adored this book to pieces. It’s the perfect read for anyone who loves gaming, anyone who loves adventure, and anyone who simply loves an exceptionally good story. It’s thoughtful, with a lot to say about our culture, without ever losing its narrative appeal. This is unquestionably a top read of the year for me and I can’t recommend Ready Player One enough.

As such, I’m delighted to say I have one copy to give away to a reader in the US. Just leave a comment to be entered to win – the competition will close one week from today, on August 23rd at 12 noon EST.

All book links to external sites are affiliate links. I received this book for free for review.

Share

Review: In a Treacherous Court, Michelle Diener

in a treacherous courtSusanna Horenbout, a young painter with a famous father, is sent to Henry VIII’s court in order to serve as the king’s personal illuminator. Before she even approaches the presence of the king, she’s the focus of an attempted murder, and is placed under the protection of courtier John Parker. As she and Parker develop intense feelings for one another, they’re also forced to contend with plots against the king by some of his closest advisors. Can their careers – and indeed their lives – survive the best efforts of their foes?

The subject of this book is very intriguing; there is little new in Tudor England fiction these days, but a female painter and a mystery surrounding her seemed like it had potential to be quite the read. While this was overall an enjoyable book, it did have some flaws that marred what could have been an exceptional and unusual debut in the over-saturated Tudor-obsessed historical fiction world.

The primary flaw was the speed of the narrative. This is a short book and actions throughout feel rushed. It’s hard to get attached to characters who are constantly going, without much rest for pages. It seems as though every time the two main characters get an interlude to develop their relationship, they’re interrupted by something related to the general mystery / intrigue plot, and personally I always prefer character development to a racing plot. The plot itself is a good intrigue plot, and perfectly suited for those who are after that sort of thing – it’s just rushed along without much chance for a break.

Overall, it’s a real shame, because Diener has a beautiful way with words and I could tell that there were moments in this book that I could have happily luxuriated in her turns of phrase. I will certainly be eagerly looking for any books she writes in the future, because I think she could become quite good if she lets the historic world and her characters take on a bit more prominence. I believe this book is the first in a series, so I’ll be looking forward to advance reviews of the next.

While In a Treacherous Court does have its flaws, it also has its perks, and it’s worth a read for anyone seeking a fast, different historical fiction read set in the Tudor world.

All book links to external sites are affiliate links. I received this book for free for review.

Share

Review: Super Mario: How Nintendo Conquered America, Jeff Ryan

super marioMario is one of the enduring characters of my childhood, an instantly recognizable face and voice, and a character that still features in video games which can be just as fun as they were when I was six years old. There’s no way that nostalgia won’t creep its way into my review, and I’m not sure that it shouldn’t. I could not resist this book by Jeff Ryan, which delves into the history of Nintendo in America, just how Nintendo caught on with the masses at one of the worst times to release video games in history, and how they continue to captivate us as competition ramps up from a series of new competitors.

I was particularly entranced by the early sections of the book where Ryan looks at Nintendo’s history. I knew they started out in the nineteenth century as a card company, but the intervening years until the NES was released in North America were mostly lost to me. Ryan fills in the gaps and does quite a bit towards explaining just why Mario was so successful when other characters failed. He suggests that Mario’s very lack of personality, beyond the simple facts of his life, make him appealing because he is an everyman. There is a reason Mario doesn’t speak beyond “Woohoo!” because the less we know about him, the more we can put ourselves in his shoes. It’s an intriguing concept, and it’s true that Mario games the few for me which don’t actually need a story to succeed.

Ryan is clearly a Nintendo fan, which comes through in his writing, and is instantly appealing to another person who has had a Nintendo console nearby for the past twenty-five years. We didn’t get our NES until I was four, but that means I can’t remember a time when I didn’t have the ability to play a Mario game more or less whenever I wished. This book definitely succeeds in tapping into those memories and covering all aspects of Nintendo, not just Mario games.

Perhaps the only thing the book is lacking is actual hands-on interviews conducted by the author himself. A lot of it is research gleaned from a huge variety of sources, but we don’t get much insight into the personalities of the people behind Nintendo. Shigeru Miyamoto is of course the posterchild for cool Nintendo games; I loved hearing more about the older games that he created before Mario and how Mario changed as time went on, but would have loved even more insight from the mind of a man who can create gaming addictions at will.

I did quite like the rotating history of Nintendo’s competitors and how Nintendo has managed to innovate and remain on top for years. After the slow sales of the GameCube, many people thought Nintendo was going to be like Sega and sell only software because of the difficulties they were having. But Nintendo fought back with the Wii, which has been ridiculously successful and found a home with everyone from small children to elderly disabled.

There is every indication that the company will continue to fight back in the future, providing pure fun for all to enjoy, and in the end Super Mario was a lovely tribute to both the company and the great character of Mario himself. If you’re a Nintendo fan, you can’t go wrong with this book.

All book links to external sites are affiliate links. I received this book for free for review via Netgalley.

Share

Review: The Crying Tree, Naseem Rakha

the crying treeIrene and Nate Stanley move to Oregon in search of a better life for themselves and their family. Irene is reluctant to leave her extended family, but believes in the hope that her husband gives her. Instead, what they get is a seemingly random housebreaking and the death of their son, Shep. The murderer Daniel Robbin is caught, but the death of a child is something that neither can really cope with – driving away their daughter, Bliss, and launching life-changing consequences for the family.

This was one of the first books I bought for my Kindle nearly a year ago, and all this time it’s simply sat there unread – a book that, like so many, loses its luster once acquired. Luckily, I was travelling and had nothing on me but the Kindle, so when everything else ALSO seemed to lose appeal (don’t we all hate it when that happens?) I finally opened this title and started to read. I’m glad I did – this was a powerful book with a surprise twist at the end that I hardly expected, but which really added to the strength of the entire book.

The novel is told through alternating viewpoints. Most of the book is from Irene’s perspective as she loses her son, with the occasional chapter from Bliss, and the rest of the book is told by Tab Mason, the man who has been ordered to kill Daniel Robbin. Robbin has been on death row for years and Tab has never been the one to actually kill a man, nor is he comfortable with it. This perspective provides a really fascinating and heartbreaking look into the toll the death penalty takes on the people who are actually required to follow through with it.

The main thrust of the storyline, though, is Irene’s personal struggle with the murder of her son and the incredibly difficult pain she has to go through as a mother. She essentially dies inside – at first, she lives for the fact that her son’s murderer is going to be killed, until she decides to forgive him on what would have been Shep’s 25th birthday. She writes him a letter and, surprisingly and secretly, she and Daniel begin corresponding. This leads to the biggest twist in the book, which I obviously won’t spoil for you. It’s a fascinating meditation on the power of forgiveness, though, and the strength of a mother’s love.

For a book I wasn’t actually sure I’d like after I bought it, The Crying Tree was a powerful surprise, and certainly one I’d recommend to those who aren’t afraid of tackling more difficult issues in their reading.

All book links to external sites are affiliate links. I purchased this book.

Share

Review: Sex on Six Legs, Marlene Zuk

sex on six legsThe insect kingdom is an incredible place, and many of us humans hardly think about them unless they’re annoying us, in which case we promptly squash them and forget about it.  But insects are unbelievably diverse; new species are being uncovered virtually every day.  Since they are so different from us, insects provide us the unique opportunity to study genetics without reading human traits into them.  We simply can’t ascribe an ant human emotions, certainly not as easily as we can with monkeys or dogs or lions.  Zuk uses this perspective to explore the sexual and familial relationships of insects and apply her conclusions to help us examine the human condition and what really is special about us – and them.

The non-fiction bug has bitten me hard, so I thought it was only appropriate to read non-fiction about insects!  Stupid jokes aside, this was a genuinely fascinating book in ways I never suspected it would be. Marlene Zuk makes biology incredibly interesting, using examples from a variety of insect species to demonstrate interesting facts about genetics that I’d never really have thought about.  One of my favorite chapters was on insect parenting, where she goes into depth on the vastly different aspects of insect parenting, including how some insects are more attentive to their young than some cuddlier creatures.  She does pull from many other species when comparing with insects, which I think helps the book fit in nicely with a lot of things that casual readers already know.

I also loved that she used insects as a means of questioning what precisely it means to be human.  Outside of consciousness, which is impossible to really define as we have no idea what causes or even if everyone’s is the same, much of human behavior is replicated elsewhere.  For example, bees communicate with each other in what is for all intents and purposes a language, and if we narrow the definition of language enough to exclude them it becomes pretty clear that we’re doing it solely to make ourselves look special.  Bees confer on decisions, like when moving to a new hive, do waggle dances to show each other where food is, and can fly in large groups to unfamiliar destinations without losing stragglers.  It’s very sophisticated behavior for such tiny insects.

Zuk also spends some time on gender roles and how our assumptions of insect genders throughout the years have reflected on our own biases.  Even now, many of her students find it impossible to believe that certain insects, like many of the bees you see flying around or army ants, are female.  The queen bee was for years assumed to be a male bee – of course, no one even postulated that it could be female until one was dissected for evidence.  She shows how ingrained gender roles still are in our society, an unfortunate reality that was excellently illustrated in this case.

She also spends quite a bit of time explaining evolution and how insects may have turned out to be this way.  I really appreciated this – I haven’t read much about evolution and I don’t feel I learned much in school, so having such a fantastic explanation alongside interesting traits that seem improbable was incredibly helpful.  Among other things, she helps to explain how different “personalities” can have their own advantages – meaning both work from a selection standpoint – and she also goes into some experiments done on artificial selection and the advantages some really peculiar aspects of insect life might have, especially in light of their extremely short lifespans.  It felt quite comprehensive and detailed to me, but I was never at a loss for understanding.  I felt like I’d learned something once I’d finished.

Even if you’ve never looked at a bug and wondered whether it was male or female, Sex on Six Legs is a genuinely fascinating book.  Its title is provocative, which I hope gets it the attention it deserves, but the content is so much more than a look at insect sex.  Zuk uses insects to help define our own world, imparting a great deal of biological knowledge and wisdom along the way.  I can’t recommend this book highly enough.

I am an Amazon Associate. I received this book for free for review from Netgalley.

Share

Review: The American Heiress, Daisy Goodwin

the american heiressCora Cash, one of America’s greatest heiresses in the late Victorian era, naturally has a scheming mama. And that scheming mama wants her incredibly wealthy daughter married to a British peer. She’d like a prince, but she’ll settle for a duke, regardless of what Cora really wants – which is her American friend Teddy. But when Cora meets the Duke, Ivo, by complete accident, she begins to fall for him and finds herself married to him in very short order. But British society is further from home than just the ocean crossing and Cora soon finds herself in over her head between her mother-in-law, the Prince Regent, and the many preferences and proprieties that encapsulate her new husband’s every day life.

This book is sold as similar to Jane Austen and Edith Wharton, as a book that is reminiscent of Downton Abbey, a television series I recently watched and fell in love with. It had huge shoes to fill, so perhaps it’s not a surprise that it came up short. It was an enjoyable read, but much shallower than all three comparisons. In reality, I came across someone else saying it was like The Luxe series for adults, and I think that’s probably the most apt description I’ve seen yet.

Part of the problem with the book is that much of it is told and little of it is shown to us. Cora is meant to be a stubborn, plucky heroine, determined to escape the shadows of her mother’s influence, but in reality she is a girl who reacts, not a girl who acts. She seems much more comfortable letting her money and comfort slide her along through life without really fighting for anything she cares about. Even towards the end of the book, most of her ‘growth’ consists of ordering the butler to do things to spite her mother-in-law.

The one aspect I really enjoyed was the story of Cora’s colored maid Bertha. Bertha has her own difficulties as a colored lady’s maid, particularly in her native US. Things begins to change for her as she moves to England with Cora and the stigma fades away to some extent, offering her the first chance of an independent life she has really ever had. But her loyalty to Cora often gets in the way. This was actually a really fascinating aspect of the story and had me wondering what ladies’ maids really thought – were they loyal to the women who had fashioned their entire careers? I wished others servants were equally fleshed out because I’m sure the more fleshed out dynamics of an American versus British ‘downstairs’ would have been fascinating. As it is, Bertha ignores most of the other servants, completely isolating herself.

The American Heiress was certainly an enjoyable read that I managed to zip through in just one day. But I think the many comparisons it’s received have done it a disservice, and the book is best treated as a lighter historical read than classic material. Historical beach reading at its best.

All book links to external sites are affiliate links. I received this book for free for review.

Share