Quentin Tarantino’s films have always been marked by their intriguing characters, snappy dialogue, spaghetti western feel, and by their violence. Well, at least two of those elements are present in his latest effort, Django Unchained, but not the two you’d want. Django Unchained tries to substitute scene after scene of ultra-violence for such necessities as character development or story, and the movie suffers for it. Badly.

Django Unchained’s plot is as simple, as bare-bones as it gets. Django (Jamie Foxx), a slave freed by a German bounty hunter, Dr. Shultz (Christoph Waltz) must help the bounty hunter identify and eliminate three targets. In return, Dr. Shultz will help Django rescue his wife (Kerry Washington) from the villainous, abusive clutches of plantation owner Calvin Candie (Leonardo Dicaprio).

Django Unchained gets a few things right. As Shultz and Django stare down their antagonist in scene after scene, the tension gradually mounts, and the film creates a powerful mood of suspense and entrapment. Django and Shultz are out of their depth, surrounded by the most of heinous of enemies, and one wrong move can spell their doom. The peril is very real, very immediate, and very frightening.

But the fact is that both our villains and our heroes (especially our titular Django and his wife) just aren’t complex enough characters to merit our sympathies. Django is a cliché, stoic hero, replete with a few cold, badass one-liners—the black Clint Eastwood. As he guns down man after man in the novie’s opening hour, you wish the film would take a breath to give us a bit of his backstory—well, a bit of his backstory that isn’t a horrible scene of torture, more specifically. His wife is your average damsel in distress, whose main purpose in the movie is to cry and whimper as she waits for Django to rescue her. And the villains—oh, the villains. They are evil, in an over-the-top, terrible way, but without the sense of personality or complexity that other movie monsters have brought to the screen. They’re certainly not as interesting as the motley collection of villains that Uma Thurman faced in Kill Bill. Instead of creating villains that feel real or a memorable hero you can truly love and root for, Tarantino takes an easy shortcut; he shows us so many scenes of graphic violence, of atrocities perpetrated by masters on their slaves, that we are simply obligatedto want Candie and the rest of his vile minions dead. We’re not afraid Django will fail and be caught because we care so much about Django as a person—we want him to escape so that we don’t have to watch another gratuitous torture scene in which Django gets his head smashed with a hammer or fed to dogs (yes, these things do take place in this movie, I’m sorry to say).

When Django finally starts to turn things around and exact his brutal revenge on the slavers, we are meant to cheer. But despite the genuinely rousing music and well choreographed and well-shot fight scenes in the film’s third act, by the time Django’s revenge comes around it’s hard not to just be sick of all the screaming. As he blows off men’s balls and kneecaps in bright showers of blood, it doesn’t feel like a satisfying revenge story so much as torture porn. The slavers are terrible and deserve to die, yes, perhaps even get their knees shot off. But what sort of man is Dajnago if he can calmly deliver monologues while men are writhing in agony at his feet? Are we perhaps meant to question our hero, to wonder if he is becoming the evil he is fighting against? Possibly; that’s the generous, optimistic interpretation of Djanho Unchained. But the audience I watched this with cheered for each agonized scream. I don’t get the sense we are meant to question Django’s spree of violence so much as revel in it.

Is this Quentin Tarantino’s exploration of the horrors of slavery? Are we meant to excuse its faults as a story because it is somehow culturally or historically relevant? It’s not; it’s pure fantasy, and more absurd than Tarantino’s last film, the annoyingly spelled Inglourious Basterds (which at least had the benefit of Tarantino’s signature dialogue to carry it along). The movie is too inconsistent to be even close to realistic; all the slavers in the movie are, paradoxically, both too racist and not racist enough. They mutilated and torture their slaves without remorse and despise black people, but at the same time they let Django enter their plantation house, dine with them, and even nail them time after time with his softly-spoken, ice cold one-liners. Real slavers, one can’t help but feel, would neither be so pointlessly, needlessly brutal as to mutilate an attractive house slave just for fun, nor so accepting of Django. “No offense taken,” Candie says after Django talks back to him. And this from the man who gives us a five-minute-long lecture on how the Negro brain is designed for servility. The real Candie would have taken a great deal of offense. Django Unchained tries to have it both ways just so its ludicrous plot can keep moving forward. The plot needs Django at Calvin Candie’s dinner table, so there he will be, no matter how unbelievable it is.

The movie on a whole is too short on substance, but unlike previous Tarantino films, it also lacks the style to make up for what’s missing. What it has in spades is violence–constant, nauseating violence, but violence that’s not in the service of a story we can get behind. It’s like Kill Bill Volume I (by far the weaker of the two Kill Bill movies), except without the panache that made that movie watchable. The dialogue is passable, but not often exceptional; the story is simple, and not often believable. Django Unchained, despite some rousing and suspenseful scenes, some well-placed songs, and some unexpectedly arresting moments, still stands as an unexpected Tarantino failure.