The Detroit Lions bubble players made their final cases for the 53-man roster on Thursday night against the Cleveland Browns. Based on that performance, plus the rest of the offseason, here’s my best guess at the team’s “final” 53-man roster.

Quarterbacks (2)

IN: Matthew Stafford, Tom Savage

OUT: Luis Perez, Josh Johnson

Changes: None

Josh Johnson did just about everything he possibly could on Thursday night to warrant a roster spot, but it’s about full body of work, not just a second half performance in the final preseason game. Tom Savage is a better thrower with a stronger arm. I’ll admit Johnson’s feet are tempting, but Savage would look a lot better behind an offensive line that actually gave him a chance.

Running backs (5)

IN: Kerryon Johnson, C.J. Anderson, Ty Johnson, Mark Thompson, Nick Bawden (FB)

OUT: Justin Stockton, James Williams

Changes: Zach Zenner out, Mark Thompson in

I’m not sure keeping five running backs is the best use of a roster spot, but the (lack of) depth at other offensive positions make it tough to pick anyone else. This last roster spot was in between three players (more on that later), but Thompson was the Lions’ best running back this preseason, and a good performance on Thursday sealed it for me.

Tight ends (4)

IN: T.J. Hockenson, Jesse James, Logan Thomas, Isaac Nauta

OUT: Jerome Cunningham, Austin Traylor

Changes: None

I was just about ready to take Isaac Nauta off my 53-man roster, but he finished Thursday night with two catches on the final drive, including his first NFL touchdown. Last year, the Lions kept four tight ends, and they weren’t nearly as talented as this crew. I still think keeping the extra one will be worth it for Detroit.

Wide receivers (5)

IN: Kenny Golladay, Marvin Jones Jr., Danny Amendola, Chris Lacy, Travis Fulgham

OUT: Brandon Powell, Jonathan Duhart, Andy Jones, Tom Kennedy, Tommylee Lewis, Jordan Lasley

Changes: Travis Fulgham in, Brandon Powell out.

Travis Fulgham has been one of the few consistent receivers this entire offseason. He’s got big-play potential and showed it again against the Browns.

One thing to consider here, though, Andy Jones did not play a single snap against the Browns. Does that means he’s definitely in or definitely out? It’s always hard to read the play usage in Game 4, though it could be an injury thing. He did miss a practice this week.

Powell was one of those three players that were fighting for a final roster spot. The Lions don’t need a returner, however, so I don’t think Powell has that much value to this team. I think Detroit will try to stash him on the practice squad.

Offensive linemen (8)

IN: Taylor Decker, Kenny Wiggins, Frank Ragnow, Graham Glasgow, Rick Wagner, Joe Dahl, Tyrell Crosby, Oday Aboushi

OUT: Andrew Donnal Leo Koloamatangi, Ryan Pope, Beau Benzschawel, Micah St. Andrew, Luke Bowanko, Matt Nelson

Changes: None

The Lions’ reserve offensive linemen were horrible on Thursday night, and there’s no question that nobody won a job against the Browns. Tyrell Crosby was especially bad, but Detroit has no offensive tackle depth, so he lands a spot anyways. Of anyone on my final 53, his job should feel the least safe.

It’s dangerous to only keep eight here—especially with Frank Ragnow’s health unclear—but I think the Lions will find some depth elsewhere anyways. But Beau Benzschawel was in contention with Matt Thompson, Isaac Nauta and Brandon Powell for two of the final remaining spots on my roster. Ultimately I went with Thompson and Nauta for their consistency all of August.

Defensive linemen (8)

IN: Da’Shawn Hand, Damon Harrison Sr., A’Shawn Robinson, Mike Daniels, Trey Flowers, Romeo Okwara, Eric Lee, Kevin Strong

OUT: Mitchell Loewen, Fred Jones, Ray Smith, P.J. Johnson, Jonathan Wynn, John Atkins

Changes: Eric Lee in, Mitchell Loewen out

Eric Lee was fantastic in the preseason finale, and also showed his versatility. He can play the jack linebacker position. He can play the down defensive end position. Mitchell Loewen can, too, making this final cut extremely tough. Kevin Strong was also a tough decision, but I think the Lions could use the short-term help while Da’Shawn Hand likely sits for a couple weeks.

Linebackers (7)

IN: Devon Kennard, Jahlani Tavai, Jarrad Davis, Christian Jones, Jalen Reeves-Maybin, Miles Killebrew, Austin Bryant

OUT: Garret Dooley, Anthony Pittman, Malik Carney, Steve Longa

Changes: Steve Longa out, Austin Bryant in

Steve Longa didn’t play on Thursday, which throws a monkey wrench into everything. Will the Lions actually carry a linebacker who has practiced twice in a full calendar year? It doesn’t seem to make sense, but the Lions need linebacker depth and I didn’t see anyone else win the spot.

As for Austin Bryant, I simply think they keep him on the original 53-man roster, then place him on IR, hoping he can return later in the season. (If the Lions put him on IR prior to making the 53-man roster, he is not eligible to return).

Cornerbacks (6)

IN: Darius Slay, Rashaan Melvin, Justin Coleman, Amani Oruwariye, Jamal Agnew, Mike Ford

OUT: Teez Tabor, Andre Chachere, Dee Virgin, Jamar Summers, Johnathan Alston

Changes: Mike Ford in, Teez Tabor out

With Teez Tabor not playing at all this preseason, it’s hard to get a real handle on how much—if any—he improved. Mike Ford, on the other hand, made a great last-minute surge. He hasn’t been great this entire preseason, but he’s showed enough flashes, both defensively and on special teams, to warrant a spot.

Safeties (5)

IN: Quandre Diggs, Tracy Walker, Will Harris, Charles Washington, Tavon Wilson

OUT: C.J. Moore, Andrew Adams

Changes: Tavon Wilson in, Andrew Adams out

Tavon Wilson didn’t play, suggesting the veteran is safe. Meanwhile, Andrew Adams played the entire game and didn’t make a ton of notable plays. C.J. Moore is a practice squad priority, due to his special teams value, but this remains one of the toughest positions to sort out. I could see the last four players all make the roster or also get cut. There’s that much talent there.

Special teams (3)

IN: Matt Prater, Sam Martin, Don Muhlbach

OUT: Ryan Santoso

Same as it ever was.