SMOKE EATERS - available now from angry robot books

When dragons rise from the earth, firefighters are humanity’s last line of defence, in this wild near-future fantasy.

Firefighter Cole Brannigan is on the verge of retirement after 30 years on the job, and a decade fighting dragons. But during his final fire call, he discovers he’s immune to dragon smoke. It’s such a rare power that he’s immediately conscripted into the elite dragon-fighting force known as the Smoke Eaters.  Retirement cancelled, Brannigan is re-assigned as a lowly rookie, chafing under his superiors. So when he discovers a plot to take over the city’s government, he takes matters into his own hands. With hundreds of innocent civilians in the crosshairs, it’s up to Brannigan and his fellow Smoke Eaters to repel the dragon menace.

order: Amazon - B&N - BAM


DAUGHTERS OF FORGOTTEN LIGHT - releasing september 4 from Angry Robot books

Lena "Horror" Horowitz knows the score. For the last decade she's been riding her laser-wheeled motorcycle with the Daughters of Forgotten Light, and now the gang is hers to lead. But there's a shaky truce on Oubliette, the prison city in space her and many other women have been shipped to.

When Lena kills a rival gang member, she and her gang cover it up to keep the peace, but that becomes the least of their problems. A new shipment has arrived, bringing more girls and something never seen on Oubliette: a baby.

Senator Linda Dolfuse takes on the job of discovering what Oubliette has turned into over the last fifty years. When her smuggled drone captures video of murderous motorcycle gangs and a baby illegally sent to the city in space, it's all the proof the government needs to wipe out Oubliette for good. Only one problem: it might be her baby.

Pre-order - Amazon - B&N - BAM


Ash kickers (smoke eaters book 2) - releasing summer 2019 from Angry robot books

Elite dragon-fighting task-force, the smoke eaters, have been relegated to a paint-by-numbers job tranquilizing the savage reptiles and locking them away in containment zones. It’s not the exciting life that Smoke Eater recruit, Tamerica Williams, was hoping for.

But everything changes when a legendary bird of fire – the Phoenix – rises from the earth and starts incinerating everything, driving the remaining dragons into a frenzy, and inspiring a cult of arsonists. Even worse, if you kill the Phoenix, the damned thing just comes back stronger. It’s up to Tamerica and her fellow smoke eaters to kick some serious ash.



Sin is R.J’.s business, and business is good, whether he’s selling revenge in Memphis or winning musical duels as the Devil’s Heavy Metal hit man. But when R.J. loses a rigged competition, he’s going to need every dirty deed in his arsenal to keep Beelzebubba’s claws off his own soul.



The Line: a glowing red divider of two nations that splits the sea. Any ship that sails across is forever stained and any who see the marked vessels are bound by law to destroy them. 

Icarus and Gracie were born on different sides of the Line. 

Gracie is hungry for a life of her own. Called by the sea, Gracie escapes her father's house the day of her forced wedding and deceives her way onto a ship captained by the brigand they call Midnight. 

Icarus has been committed to his duty hunting red stains. But when a grisly wreck reveals Captain Midnight still sails the Divided Sea, Icarus sees a chance to cross the Line and seek vengeance for the murder of his family. And maybe even snatch a little gold along the way.

But when both crews separately raid royal ships carrying strange ammunition, one side’s queen dispatches an armada to sink the thieves and cover up a plot to invade her country’s sworn enemy across the Line. 

Now with an entire nation’s fleet after them, Icarus and Gracie are also set on a course for collision with each other, one having to become what he's always hated most and the other what she never imagined: pirate. 

Some lines were meant to be crossed.


Short Stories


Sparrow ridge

Read by Mr. CreepyPasta and found in the anthology, Daylight Dims