The Minnesota Vikings eked out the Cincinnati Bengals in a 17-16 matchup on Friday night. The result is obviously irrelevant, but the process—especially early—that led to the result is well worth dissecting.

We’ll have to see which of these takeaways survive a rewatch but for now, I think we’ve got some fairly strong takeaways we can come away with to assess the progress of the Minnesota Vikings.

Offense

Teddy Bridgewater didn’t get many chances to play without pressure in his face. Early on, it created some issues with the offense, with an impressive completion to avoid a sack early on—while stiffarming Geno Atkins—followed by a sack (by Geno Atkins) and an incompletion while being hit as he was throwing.

Even on his 49-yard completion to Charles Johnson for the touchdown, pressure blew by Matt Kalil and Bridgewater was forced to step up into the pocket.

It is very important to people that Bridgewater’s deep pass is illegitimate, of course.

Good thing he got to get a crow hop in. https://t.co/PKR9Mo2Urx — DinkDumpDish (@DinkDumpDish) August 13, 2016

https://twitter.com/SullyFootball/status/764260014655729664

This is kind of a weird response when the ability to set and throw on the run is generally a positive thing (and in particular for Bridgewater, whose mechanics on deep throws didn’t consistently remain clean).

Chykie Brown and Josh Shaw are not starters and for good reason, but this seems to be more an indictment of the skills it took for Charles Johnson to get open and not of Bridgewater for throwing an accurate deep ball.

It’s irrelevant though, because we’ll see more evidence good or bad for Bridgewater’s deep ball. For now, he’s done a good job and I think this is much better than last year’s preseason, when Bridgewater too often scored empty yards by getting completions on third down that didn’t convert but padded a stat line.

His throw to Thielen was high, and it’ll be difficult to justify Bridgewater’s accuracy there without replay—though that’s certainly possible.

Overall, though, Bridgewater played well in his eight passing snaps, if that means anything.

Unfortunately, the starting offensive line played poorly, with pressure given up by Matt Kalil (on the deep touchdown throw), Andre Smith and Joe Berger, with John Sullivan also struggling, including getting called for a chop block that was incorrectly attributed to Matt Kalil. Alex Boone wasn’t clean either, as he was responsible for the tackle-for-loss Jerick McKinnon suffered early on.

McKinnon himself played well, with both run-to-run consistency and some explosive running. He also caught the ball and added receiving yards (as well as first downs) for the Vikings.

I didn’t evaluate Zach Line’s blocking, so that will be fun to watch when going over the broadcast again, though I was largely impressed with Blake Renaud. Unfortunately, he was a major component to the failure of the special teams unit to close down on Alex Erickson on his punt return touchdown, whiffing early.

Without review, it will be difficult to say how Kyle Rudolph, Stefon Diggs or Adam Thielen did. Thielen had that nice catch, so he has that going for him. Charles Johnson’s deep ball is a good sign, but it will be nice to see what happens in contested catch situations in future games, especially against first-team opponents.

Laquon Treadwell seemed to do well, and his four catches showcased physicality, contested catches, routine route-running and all those things you want in a receiver. The fourth and three reception was of course great to have.

David Morgan certainly showed up and it was easy to see some good blocking (and at least one mistake in run-blocking) as well as a few catches.

MyCole Pruitt had an early catch that was nice, but after he left with the rest of the starters, there wasn’t much excitement from the tight ends. While Morgan did well, both Leonhardt and Carter had bad play, both from scrimmage and in special teams—with each their own lacking efforts on Alex Erickson’s return touchdown.

Outside of the starting offensive line, I don’t have many takeaways. It will be difficult to tell without additional film review how they did but Nick Easton seemingly continues to excel. Some might want to knock Willie Beavers for getting bowled over on a play whistled dead, but that’s unfair. He had some issues (actually quite a few) in the game, but that wasn’t one of them.

C.J. Ham was impressive as a running back. He caught outside of his frame, did an excellent job in pass protection and avoided negative running plays—his primary job as a backup running back. The fact that he did much more in the running game than “avoided negative yardage” is excellent gravy. Jhurell Pressley didn’t see the field outside of special teams, and that showing on special teams was very bad.

Defense

Without Sharrif Floyd or Eric Kendricks playing, and with seemingly few snaps from Linval Joseph, it won’t be a one-to-one comparison to see how this defense does against teams in the regular season (and so too, an offense without Adrian Peterson), but the early returns weren’t great.

More Zimmer: "We need to get a whole lot better, we're definitely not ready for Tennessee yet" #Vikings — KFAN1003 (@KFAN1003) August 13, 2016

On the defensive line, it seemed like Shamar Stephen alternated between great plays and bad plays, creating tackles at the line of scrimmage or getting blown off the ball. Generally speaking, I’d argue that Stephen had a bad day and was largely responsible for the Bengals’ slow advance on their second drive.

Still, Stephen was not fully to blame—and that may be something worth turning back on after full film review anyway—as the combination of Tom Johnson and Kenrick Ellis played significant roles. While I was impressed with Johnson, I wouldn’t be surprised if he could take blame for the running failures when looking over things again. I know for a fact that Ellis had a poor game and that he, too, should be subject to serious scrutiny.

Of the back end tackles, I’d say that Toby Johnson flashed in a lot of ways, with a few memorable good plays and some great pressure. He got washed out on a big run late in the game, but for the most part seemed to look pretty good.

Travis Raciti did not do as much as Johnson and didn’t make the most of his opportunities to make an impact.

Danielle Hunter and Brian Robison seemed to set the edge generally well, but there were certainly plays where the Hunter couldn’t hold the gap and gradually the Bengals offense chipped away.

Backup ends Justin Trattou and Zach Moore can be proud of how they did. Trattou consistently applied pressure and though he was definitely responsible for lost contain on a run, he contributed more positive than negative. Moore did even more than that with a near-highlight sack and generally great play—including fluid coverage of a tight end in the passing game.

In the few snaps that Greenway played, he did a fantastic job shedding a block on a tackle for a three yard gain, and then got blown off the ball on a later play. There’s not much there to break down. We didn’t see much in the way of Anthony Barr, and Audie Cole also had ups and downs.

Emmanuel Lamur had a few positive plays that showed off his athleticism, but we also saw Lamur struggle with blocks and lose players in coverage. I can’t help but think of Lamur when head coach Mike Zimmer called the linebackers “soft” in the postgame presser.

Like Greenway and Lamur, Brothers also played up-and-down. While his highlight fourth-down stop should play in his preseason highlight reel, his inability to turn the corner and chase Cedric Peerman demonstrated the issues he had with speed, and he also had some issues getting off of blocks.

He scraped the wrong way on a run play—one where he was impeded by Mackensie Alexander doing who-knows-what—and didn’t really show off any coverage skills. I won’t have a conclusive diagnosis of Brothers’ play without review.

At the back end, Trae Waynes started strong, including an excellent near-interception on a deep pass and a great pass breakup intermediate on an earlier play. Unfortunately, he fell behind in the second half and gave up a couple of receptions while also getting run over on a screen.

Zimmer wasn’t happy that Waynes didn’t close down on the curl by Cody Core late in the first quarter, when quarterback A.J. McCarron targeted him to turn 2nd and 10 into 3rd and 1. That drive ended in the second quarter at the Minnesota 4 with a turnover on downs (stopped by Brothers). Zimmer specified that the corners don’t get to choose their depth, but in those situations, “every reception needs to be contested.”

Trae Waynes said he and Mike Zimmer talked during the game about him playing too far back at times. — Chris Tomasson (@christomasson) August 13, 2016

Lining up incorrectly is something that should be fixed soon, but may keep him out of the starting slot for now.

All in all, it was probably a positive day for Waynes despite that criticism. His most exciting play might have been the near-interception, but the incomplete pass he caused by closing in on A.J. Green on a slant as the Bengals kept to three-step timing was aggressive and smart—and that might have been his true best play.

We didn’t see much from Xavier Rhodes, but he wasn’t really impressive when targeted. That doesn’t mean much, however, as he was taken off the field quickly along with the rest of the first team defense.

Behind Waynes is Mackensie Alexander, who should be happy with his performance—even if he contributed to a long run from the Bengals offense. Generally speaking, he blanketed his receivers, had multiple pass breakups against a surprisingly effective Alex Erickson, and even grabbed an elusive interception.

Jabari Price didn’t show well, and though the deep reception against him wasn’t really his fault, even small dings will build the case that his poor training camp already established for him—and the rest of his game was lacking as well.

The guy I’ve been hyping for all of training camp, Tre Roberson, had a phenomenal game for a third-stringer playing against other third-stringers. Tight coverage throughout the game and a deflected pass characterized his play, though a few instances—including a reception against him and some confused coverage between he and Antone Exum will mar the day.

Andrew Sendejo and Harrison Smith didn’t stick out to me and their film review will have to be later—much like backup offensive linemen, safeties are difficult to evaluate without a full rewatch.

That said, Jayron Kearse had an interesting night. He’ll remember it well with the game-winning interception at the end, but at least two big missteps earlier may weigh on his mind when they review the film. It’s not clear that he has a chance to win the starting job, as Antone Exum had an overall very positive day.

I didn’t see Michael Griffin or Anthony Harris, so it will be interesting to see if they were off-screen, weren’t targeted or simply didn’t play that many snaps.

Special Teams

The snapper (Kevin McDermott) snapped without incident. The kicker (Blair Walsh) kicked without incident. The punter (Jeff Locke) did not punt well. Zimmer said, “it was not a good punt,” and I agree, as he outkicked his coverage significantly, and that contributed to a touchdown.

The Vikings won the game, but though we saw positive things out of the quarterback, offensive skill players and cornerbacks, there’s clearly work to be done to make sure the front seven of the defense lives up to its reputation and that the offensive line is not convicted of being an accomplice to murder.