I know this seems preposterous, but sometimes preseason predictions can turn out wrong.

Take the Cardinals: Heading into the season, Arizona looked to have what many considered the best receiving corps in the league. With the ageless Larry Fitzgerald, a big-time outside threat in Michael Floyd, and a pair of speed-merchants in John Brown and J.J. Nelson, matching up with the aggressive Arizona offense was going to be a nightmare — or so we thought.

It hasn’t played out like that. The Cardinals’ passing game has struggled, and while Fitzgerald hasn’t skipped a beat, the rest of their squad of pass catchers hasn’t lived up to its billing.

So, ignoring preseason hype and throwing out the players either on the injured reserve or suspended list, let’s take a look at the league’s best and worst receiving corps, ranked from top to bottom.

1. Oakland Raiders: Amari Cooper, Michael Crabtree, Seth Roberts, Andre Holmes, Johnny Holton

The Raiders are probably the only team in the NFL with two true no. 1 receivers in the passing game. Cooper (58 catches for 843 yards and two touchdowns) is already one of the best route runners in the NFL in just his second season. And during Crabtree’s career renaissance in Oakland this season (49 catches, 596 yards, six touchdowns), he’s made so many ridiculous, high-degree-of-difficulty grabs that Jim Harbaugh calling him “the best catcher ever” doesn’t seem so absurd anymore. It doesn’t really matter who else there is, but Roberts (25 catches, 277 yards, four touchdowns) and Holmes (10 catches, 70 yards, two touchdowns) round out the group nicely.

2. New Orleans Saints: Brandin Cooks, Willie Snead IV, Michael Thomas, Brandon Coleman, Jake Lampman, Tommylee Lewis

The Saints don’t have one true go-to guy, but with the combination of Cooks, Snead, and Thomas, they don’t need one. Cooks (51 receptions, 736 yards, six touchdowns) has developed into a complete, versatile weapon after starting his career as more of a one-trick-pony speed threat on the outside. Snead (46 catches, 555 yards, four touchdowns) is a great route runner with excellent hands, and the rookie Thomas (56 catches, 681 yards, five touchdowns) has broken out as the team’s premier red zone threat. Throw in Coleman (19 catches for 223 yards two touchdowns), another big body that Brees can target up the seam, and this is a complete group.

3. Denver Broncos: Demaryius Thomas, Emmanuel Sanders, Cody Latimer, Bennie Fowler III, Jordan Taylor, Jordan Norwood

Trevor Siemian hasn’t exactly lit the world on fire this season, but it’s not for lack of pass-catching talent. The 6-foot-3, 229-pound Thomas (55 catches, 678 yards, five touchdowns) is a big, physical jump ball and red zone specialist, while the 5-foot-11, 180-pound Sanders (54 catches, 668 yards, three touchdowns) offers speed and versatility all over the field. Norwood (19 catches, 203 yards, and a touchdown) is a solid no. 3 option.

Related The Internet Detective Agency Takes on the Will Parks Matter

4. Washington Redskins: DeSean Jackson, Pierre Garçon, Jamison Crowder, Ryan Grant, Rashad Ross, Maurice Harris

Washington has a nice mix of skill sets. There’s the tough, physical possession-type in Garçon (42 catches, 442 yards, and a touchdown), the field-stretching deep threat in Jackson (30 catches, 416 yards, one touchdown), and the do-it-all slot weapon in Crowder (44 catches, 535 yards, five touchdowns). Scot McCloughan has done a good job of putting weapons around quarterback Kirk Cousins, and if 2016 first-round pick Josh Doctson (Achilles tendinitis) can return at some point in the next few weeks, that’s just a bonus.

5. Dallas Cowboys: Dez Bryant, Cole Beasley, Terrance Williams, Brice Butler, Vince Mayle, Lucky Whitehead

When you talk about the Cowboys’ offense, the subject is almost invariably Dak Prescott, Ezekiel Elliott, and the elite offensive line, but the Dallas receiving corps has some talent too. Bryant (22 catches, 398 yards, and three touchdowns in six games) remains one of the game’s elite downfield and end zone weapons, and Beasley (48 receptions, 532 yards, four touchdowns) has emerged as one of the shiftiest and most dependable slot receivers in the league with his 83 percent catch rate (fifth in the NFL per Pro Football Focus). Terrance Williams (25 receptions at 14.4 yards per catch) remains a deep threat, and Butler (11 catches for 125 yards and two touchdowns) did a fine job filling in for Bryant when he was out with a knee injury earlier this year.

6. Indianapolis Colts: T.Y. Hilton, Donte Moncrief, Phillip Dorsett, Chester Rogers, Devin Street

Hilton (52 catches, 791 yards, four touchdowns) is no longer a one-dimensional deep threat; he’s developed into one of the most complete pass catchers in the NFL. Moncrief (14 receptions, 169 yards, three touchdowns) is back after a five-week absence due to a shoulder injury to resume his role as the explosive no. 2 option. And Dorsett (20 catches, 314 yards, one touchdown) continues to develop as a threat down the field and from the slot.

7. Green Bay Packers: Jordy Nelson, Randall Cobb, Davante Adams, Ty Montgomery, Jeff Janis, Trevor Davis, Geronimo Allison

Aaron Rodgers and the Packers passing game continue to struggle to regain their trademark efficiency, but a receiver group that looked to be one of the main problems early in the year has emerged as a strong suit midway through the season. Nelson (50 catches, 635 yards, a tied-for-league-high eight touchdowns) is still the go-to guy on the outside and Cobb (45 catches, 433 yards, three touchdowns) remains the shifty, versatile weapon on the inside. But the breakout performances by Adams and Montgomery over the last four games have given the team two more playmakers. Adams has 35 catches for 403 yards and three touchdowns over that span, and Montgomery has morphed into a part-time receiver, part-time running back in the last four games, catching 25 passes for 213 yards while rushing 22 times for 128 yards.

8. New York Giants: Odell Beckham Jr., Victor Cruz, Sterling Shepard, Roger Lewis, Dwayne Harris, Tavarres King

Beckham (54 catches, 773 yards, six touchdowns) is clearly the focal point for the New York pass offense, but when he’s getting double- or triple-teamed, Eli Manning has a few other capable options, a luxury he was missing last season. Shepard (39 catches, 426 yards, four touchdowns) can do damage from all over the field, and Cruz (25 catches, 377 yards, one touchdown) has returned from a near-two-year injury absence to give the Giants yet another dangerous and shifty receiving weapon.

9. Detroit Lions: Golden Tate, Marvin Jones Jr., Anquan Boldin, Andre Roberts, Corey Fuller

No one has, and no one ever will replace Calvin Johnson in the Detroit passing game, but the Lions have carried on just fine without Megatron thanks to this talented group. Tate (49 catches, 513 yards, two touchdowns) is the elusive, tackle-breaking gyroscope with explosive run-after-the-catch ability, Jones (37 receptions at 17.9 yards per catch, four touchdowns) has been the dangerous deep threat, and Boldin (35 receptions, 8.2 yards per catch, five touchdowns) has materialized as one of the most underrated free-agent signings of the offseason, providing Matthew Stafford with a trusty underneath threat on third downs and in the red zone.

10. Atlanta Falcons: Julio Jones, Mohamed Sanu, Justin Hardy, Aldrick Robinson, Taylor Gabriel, Eric Weems

Jones is a generational talent. He has caught five touchdown passes, is averaging a ridiculous 18.1 yards per catch, has a league-high 21 catches of 20-plus yards, and also leads the league in receiving yards (1,105). But it’s not a one-man show in Atlanta: Sanu (39 catches, 430 yards, three touchdowns) is a proven no. 2, and Gabriel has developed as an effective deep threat (17.8 yards per reception on 17 catches).

11. Arizona Cardinals: Larry Fitzgerald, Michael Floyd, John Brown, J.J. Nelson, Brittan Golden, Chris Hubert

Fitzgerald (68 catches, 686 yards, five touchdowns) seems to get better with every passing year. But the depth in the Arizona receiving corps hasn’t been as impressive as we expected. Floyd (24 catches, 358 yards, three touchdowns) struggled with drops and lost his job as the Cardinals no. 2 going into Week 10, and his replacement, Nelson (17 catches, 243 yards, two touchdowns), squandered that opportunity by dropping a pass (that was intercepted) and fumbling away another catch against the 49ers.

Brown, who caught seven touchdowns and went over 1,000 yards receiving last year, has seen his role diminish (30 catches for 380 yards and a touchdown) due to a hamstring injury and the side effects from carrying the sickle cell trait.

12. Jacksonville Jaguars: Allen Robinson, Allen Hurns, Marqise Lee, Rashad Greene Sr., Arrelious Benn, Bryan Walters

Blake Bortles has struggled with accuracy and mechanics this season, and he can’t blame his troubles on his wide receivers. Robinson (48 catches, 549 yards, five touchdowns) is explosive on the outside, as is Hurns (33 catches, 456 yards, two touchdowns) across from him, and Lee, a former second-round pick, has developed into a reliable, productive player (38 catches, 492 yards) this season.

13. Baltimore Ravens: Steve Smith Sr., Mike Wallace, Kamar Aiken, Breshad Perriman, Chris Moore, Darren Waller

Smith (36 catches, 417 yards, two touchdowns) is still a fiery playmaker in his 16th season, and Wallace (43 catches, 673 yards, four touchdowns) has proved to be as good of a fit for Baltimore’s deep-shot offense as he looked on paper. Perriman (20 catches, 280 yards, one touchdown) is still a work in progress in his first real season in the league, but has a penchant for huge plays, and Aiken (16 catches, 171 yards) is about as consistent of a third- or fourth-option as there is in the NFL. (Remember: He caught 75 passes for 944 yards and five touchdowns last year, production that mostly came after Smith went out with a torn Achilles.)

14. Pittsburgh Steelers: Antonio Brown, Sammie Coates, Eli Rogers, Darrius Heyward-Bey, Cobi Hamilton, Markus Wheaton

Brown is the superstar here, and the quick-twitch game-changer has a league-high 69 catches for 831 yards (fourth) and seven touchdowns (third). But with Martavis Bryant serving a season-long suspension and Markus Wheaton on the sideline with a shoulder injury, we just never know, week to week, who Ben Roethlisberger might look to. Coates (20 catches, 425 yards, two touchdowns) and Heyward-Bey (five catches, 68 yards, two touchdowns) are both ultrafast deep threats; Rogers (23 receptions, 280 yards, two touchdowns) is a shifty slot receiver, and Hamilton (six catches, 111 yards, one touchdown) has made a few plays in limited snaps.

15. Seattle Seahawks: Doug Baldwin, Tyler Lockett, Jermaine Kearse, Paul Richardson, Tanner McEvoy

Seattle’s passing game got off to a really slow start while Russell Wilson battled ankle, knee, and pectoral injuries, but now that he’s healthy, the talent here should become more apparent. Baldwin (50 catches, 629 yards, five touchdowns) might be the NFL’s most technically proficient route runner and remains Wilson’s favorite target. Kearse (26 receptions, 307 yards) always seems to be good for one big play every week, and Lockett (21 catches, 286 yards) is finally getting healthy after battling a knee sprain earlier in the year.

16. New York Jets: Brandon Marshall, Quincy Enunwa, Jalin Marshall, Charone Peake, Robby Anderson, Devin Smith

The Jets’ 31st-ranked passing attack by DVOA has been a total mess, as New York has gone from Ryan Fitzpatrick to Geno Smith to Fitzpatrick to Bryce Petty to — who knows, maybe you’ll be the next Jets quarterback! Still, that doesn’t take away from the fact that, even after losing Eric Decker, they’ve still got a skilled group of receivers. Marshall (43 catches, 601 yards, two touchdowns) remains one of the best pass catchers in the game, Enunwa (38 catches, 534, three touchdowns) has developed into a physical target in the slot, and there’s talent in their rookie class with Peake (13 catches, 109 yards) and Anderson (22 catches, 270 yards).

17. Miami Dolphins: Jarvis Landry, Kenny Stills, DeVante Parker, Leonte Carroo

Landry (55 catches, 658 yards, one touchdown) is still one of the most prolific slot receivers in the NFL, and Stills’s 19.7 yards per catch and team-leading four touchdowns illustrate what kind of deep threat he is. In his second year, Parker is coming on as well — he had five catches for 103 yards last week — and with Miami heating up (they have won four in a row), don’t be surprised if this group puts up some big numbers over the final few weeks.

18. Houston Texans: DeAndre Hopkins, Will Fuller, Jaelen Strong, Braxton Miller, Keith Mumphery

Houston’s passing game remains one of the worst in the NFL, but it’s unfair to discount the ability of its two best pass catchers simply because Brock Osweiler refuses to throw it to them. Hopkins (45 catches, 482 yards, three touchdowns) is one of the game’s elite receivers, possessing great size, speed, route-running ability, and hands. Meanwhile, in his first season, Fuller (25 catches, 372 yards, two touchdowns) quickly proved that he’s a legit field-stretching speed threat, albeit one prone to drops.

After those two, though, the depth gets thin. Strong is out for a few more weeks with a badly sprained ankle, which leaves just Miller (nine catches for 62 yards) and Mumphery (zero catches) to fill the void.

19. Cincinnati Bengals: A.J. Green, Brandon LaFell, James Wright, Tyler Boyd, Cody Core, Alex Erickson

Last year at this time, Cincinnati might’ve been in the top three on this list with Green, Marvin Jones, and Mohamed Sanu catching passes from Andy Dalton. But after losing both Jones and Sanu in free agency, Cincy has struggled to replace them. Green remains one of the best receivers in the NFL; he’s third in receptions (66), second in yards (964), and presumably first in awesome, nearly impossible one-handed grabs (I don’t know if anyone that keeps this stat but that’s just how it feels). But past Green, LaFell (29 catches, 387 yards, four touchdowns) and Boyd (27 catches for 295 yards) haven’t been the big-time playmakers the Bengals need, and the offense has suffered.

20. Minnesota Vikings: Stefon Diggs, Charles Johnson, Adam Thielen, Cordarrelle Patterson Laquon Treadwell

Diggs is an underrated star, and the former Maryland receiver caught 13 passes for 164 yards last week in Washington. He’s up to 61 passes for 710 yards with two touchdowns on the season, but the other options aren’t too impressive, even with the improvement shown by Patterson this season. Thielen (32 receptions, 453 yards) has been effective, but for now, Johnson and Treadwell remain high-upside guys with more potential than actual production.

21. Carolina Panthers: Kelvin Benjamin, Ted Ginn Jr., Devin Funchess, Corey Brown, Brenton Bersin

Benjamin (46 catches, 683 yards, four touchdowns) has been a big, dependable target for Cam Newton, but Carolina’s passing game has struggled to match the explosiveness it showed last season. Ginn (32 catches, 374 yards) has scored only one touchdown after finding pay dirt 10 times last year, and Funchess (16 catches, 266 yards, three touchdowns), while dangerous in the red zone, is still developing as a route runner.

Related Cam Newton Would Like to Crash Your Pickup Game

22. Cleveland Browns: Terrelle Pryor, Corey Coleman, Andrew Hawkins, Ricardo Louis, Rashard Higgins, Jordan Payton

Pryor (51 catches, 627 yards, four touchdowns) has been a revelation for the Browns this year, and has finally found a way to put his elite size and athleticism to good use. After making the switch from quarterback to pass catcher, he’s blossomed into a true no. 1 receiver, and also adds value in his ability to play quarterback in a pinch, as he did in Weeks 3, 5, and 6. Getting Coleman (13 catches, 231 yards, two touchdowns in four games) back for the stretch run of the season should give the Cleveland offense some help down the stretch.

23. Kansas City Chiefs: Jeremy Maclin, Chris Conley, Tyreek Hill, Albert Wilson, De’Anthony Thomas, Demarcus Robinson

Maclin (30 catches, 376 yards, two touchdowns) is an excellent route runner and one of the most savvy receivers in the NFL, and Hill (32 catches for 323 yards and four touchdowns) looks like a potential future breakout star, but past that, no one in the Chiefs receiving corps really scares you.

Related Marcus Peters Giveth More Than He Taketh Away

24. Tampa Bay Buccaneers: Mike Evans, Adam Humphries, Cecil Shorts, Russell Shepard, Freddie Martino

It’s basically a one-man show in Tampa Bay, with the 6-foot-5 Evans eating up 31 percent of the team’s total target share. (That’s more than Antonio Brown in Pittsburgh or Julio Jones in Atlanta). He’s caught 59 passes for 811 yards and eight touchdowns on the year, and with Vincent Jackson on the shelf, the rest of the cupboard is bare.

25. Los Angeles Rams: Kenny Britt, Tavon Austin, Brian Quick, Bradley Marquez, Pharoh Cooper, Mike Thomas, Nelson Spruce

Britt (44 catches, 693 yards, three touchdowns) finally looks like the big-time outside threat that he was supposed to be when the Titans took him in the first round back in 2009, but he’s been the only bright spot in the Rams’ passing attack. Austin (39 catches at just 8.6 yards per catch) still need his touches manufactured, and Quick (26 catches, 421 yards, three touchdowns) isn’t blowing anybody’s minds.

26. Tennessee Titans: Rishard Matthews, Kendall Wright, Tajae Sharpe, Harry Douglas, Tre McBride

What Marcus Mariota has done this season without any one true standout at receiver is pretty remarkable. The Titans are competent across the board with Matthews (36 catches, 483 yards, six touchdowns), Wright (21 catches, 324 yards, three touchdowns), and Sharpe (30 catches, 385 yards, one touchdown), but there’s no true go-to guy — unless you count tight end Delanie Walker, who’s great but shouldn’t be anyone’s no. 1 option.

27. San Diego Chargers: Travis Benjamin, Tyrell Williams, Dontrelle Inman, Griff Whalen, Jeremy Butler, Isaiah Burse

Philip Rivers has managed to MacGyver an explosive and effective passing game with the equivalent of bubble gum and paperclips at receiver. After losing Keenan Allen to a torn ACL in Week 1, he’s relied on Benjamin (39 catches, 514 yards, three touchdowns) and Williams (43 catches, 720 yards, four touchdowns) and has hardly skipped a beat.

28. New England Patriots: Julian Edelman, Chris Hogan, Danny Amendola, Malcolm Mitchell

The Patriots passing game runs primarily through its tight ends and running backs, and the weapons at receiver almost feel like afterthoughts at this point. Edelman (48 catches, 457 yards, one touchdown) remains dangerous, but Hogan, Amendola, and Mitchell aren’t keeping defensive coordinators up at night.

29. Buffalo Bills: Marquise Goodwin, Robert Woods, Percy Harvin, Justin Hunter, Walter Powell, Brandon Tate

The Bills are one of the league’s best running teams (only the Cowboys have run for more yards per game) and the focus on the passing attack has disappeared after Sammy Watkins suffered a foot injury in late September. Goodwin (16 catches, 301 yards, three touchdowns) and Woods (39 catches, 452 yards, one touchdown) are the most targeted options, but we’ll soon find out if Harvin can be a bigger factor after coming out of retirement before Week 9.

30. Chicago Bears: Cameron Meredith, Deonte Thompson, Eddie Royal, Joshua Bellamy, Marquess Wilson

Alshon Jeffery is suspended. Kevin White is on the injured reserve. Meredith has been a fun player to watch emerge this year, but when he’s your no. 1 threat at receiver, you’ve got problems.

31. Philadelphia Eagles: Jordan Matthews, Nelson Agholor, Dorial Green-Beckham, Bryce Treggs

Matthews is the Eagles best receiver, and he’s most well-known for dropping way too many passes (six this season). Then there’s Agholor, who was a first-round pick in 2015 …

32. San Francisco 49ers: Torrey Smith, Quinton Patton, Jeremy Kerley, Rod Streater, Chris Harper, Aaron Burbridge

Smith is a speedy, field-stretching deep threat — and OK. There’s no point in trying to make this sound OK. The 49ers need some receiver talent in a bad, bad way.