The Cambridge classicist Mary Beard became briefly notorious in 2009 (though not for the first or last time) when she was bleeped at length on NPR for quoting an ancient Roman poem—in Latin. “Catullus 16,” as it’s blandly known, insults and attacks two of the first-century BCE poet’s detractors. The obscenities Catullus uses are, well, a bit obscene to quote here (as they were for centuries of translators [PDF]), but the point is that ancient Latin, despite its reputation as a learned language of science, religion, and philosophy, was in fact a rough-and-ready language full of strikingly frank insults designed to quickly cut to the bone.

Below are 20 of those insults, most of which are (just a shade) more proper than those found in “Catullus 16.” (A translation and brilliant examination of Catullus’s poem can be found here, though, caveat lector (reader beware): It is truly obscene, and uses language that we today consider slurs.)

1. Bustirape

Use this insult (from Plautus’s play Pseudolus) to accuse someone of being a “grave robber,” a criminal occupation thought to be among the lowest of the low in the ancient world.

2. Carnifex

This term for an executioner (literally a “meat maker”) further demonstrates the Romans’ love for insulting terms associated with crimes and brutal punishments.

3. Demens

It simply means “crazy,” and is the root of the English word dementia, but E.M. Forster once translated it in a short story as “silly ass.” “I always brighten the classics,” the narrator of the story, Mr. Inskip, explains.

4. Excetra

It looks and sounds like et cetera (“and so on”) but excetra actually means “water snake” and was a term of insult used against “wicked, malicious” women.

5. Flagitium hominis

“Disgraceful man” is a simple translation of this, another insult from the playwright Plautus.

6. Foetorem extremae latrinae

If you’re looking for a creative way to tell someone they stink, you might borrow this insult from the novelist Apuleius, which translates as “stench of a sewer bottom.”

7. Fur

A perfect everyday insult was to call someone a “thief” (fur). You can also get creative to pack a little extra punch. Add “three” (tri) in front and you have a more potent epithet, trifur (“three-times-a-thief”).

8. I in malam crucem

Because crucifixion was a common form of public execution in ancient Rome, telling someone to “get up on the terrible cross” was just another way of telling them to “go to hell.”

9. Malus nequamque

Another Plautine insultmalus nequamque is a term for a “no-good jerk.”

10. Mastigia

Latin borrowed many of its own words, including its insults, from Greek, including this term meaning “one who deserves the lash.”

11. Adultera meretrix

From the Latin word for prostitute (meretrix), English developed meretricious (which is a great underused word). Classicist Kyle Harper points out that adultera meretrix, meaning “adulterous prostitute,” doesn’t make perfect sense, but might come close to something like the vulgar English “slutty.”

12. Nutricula seditiosorum omnium

Marcus Tullius Cicero tended toward more high-class insults, including this one for a Roman senator he called the “dry nurse of all seditious men.”

13. Perfossor parietum

Literally “one who digs through walls,” perfossor parietum is another way to slander someone by suggesting they’re a thief.

14. Puella defututa

Catullus used this cruel epithet to malign poor Ameana, the mistress of his nemesis, who was the subject of not one but two of his insulting poems. Puella defututa unkindly translates as “worn-out whore.”

15. Sceleste

This term of abuse for a wicked or guilty person was a favorite everyday insult. As classicist and translator Laura Gibbs points out, derivatives like scelerum caput (“chief of crimes!”) and sceleris plenissime (“most full of crime!”) work great as well.

16. Sterculinum publicum

Public toilets were a ubiquitous feature of Roman cities, so perhaps it’s little wonder that this insult would reference the heaps of excrement that resulted. Stercus is the not-so-ugly Latin word for dung, so a sterculinum publicum is literally a “public poop pile.”

17. Spurcissime

Fun fact about Latin: You can take a relatively mild rebuke like spurce (which might mean something like “dirty”) and turn up the heat by adding -issime to form a proper insult like spurcissime: “You complete filth!”

18. Stultissime

Here’s another -issime, this time added to stulte (“fool,” from which English gets the word stultify). “You complete idiot!” might be a fine translation.

19. Tramas putidas

Yet another insult from Plautus, older translations of his play Rudens render this one as “old thrums” or “rotten threads,” though the saltier “stinking trash” is probably a little closer to the mark.

20. Verbero

“One who deserves a whipping” was a favorite insult of—you guessed it!—Plautus, and is an apt reminder of the ways Romans loved to insult one another: with words of punishment, domination, and perhaps a hint of sex.