Player Skill Rankings


Wide Receivers ranked by Catching
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
1Aaron Eck-- WR5597A-WRA-31A+A-B+B-A-A+D+D-C+C+B-A+C-
1Carl Thornton-- WR745WR32B+C+C+C+D-C+A+D-C-D-D-D-D+C+C+C+B+A-
1Dan Mahoney-- WR1741B+WRB+25C-B+B-A-C+D+D+C+A+C-C-D+D-C-D-D+C+B+C-B+A+C+B-
1Dave Hubbard-- WR2221B+WRB+27B+B-C+A+D+C-D+D+A-B+B+B-
1Jeremy Blair-- WR620WR25C+A+C+B-A+C-C+B+C+D+D+C+B-B-A-C-B-
1Larry Pierotti-- WR2035B+WRB+22B-B-C+D+A+B-B-B-B-A-B+C+
1Libero Fowler-- WR10507A-WRA-21C-C+C+C-D+A-D+B-A+D+C+C-C-D-D+B-
1Lyle Palermo-- WR745WR28C-B-A-C-A+C-D+D+C-B-B-C+C+C+B-B-B-
1Martin Wilson-- WR5691A-WRA-23A+D-C+C-C-A+D-D+B-D+D-B+B+D+B+
1Riddick Sazio-- WR7497A-WRA-21B-C+C-B+B-D+A+D-D+C-C-C+B+A+A-
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
1Teddy Ribble-- WR620WR27B-D-C-C+D+C-A+B-D-C+C+D+C+A-
1Walt Jackson-- WR743B+GUNB+21B-B-B-B-B-D-A+C-C-D+C+B-C+A-C+C+B-C+
13Al Sapp-- WR2805B+WRB+23A+C-C+C-C+C-D-D+C-D-D+C+D+A-A+C+B+B+D+B+
13Bill Cassady-- WR2126B+WRB+24B+B+C-C-B+D-D+B+D+C+B+
13Bill Fenerty-- WR620WR26B-A-C+B+D+D-B-C-C+D+D+C-D+D-C+A-B-C+
13Charley Jackson-- WR745B-WRB-30C-A-B+C+C+C+A-C-C-D-D+B-C+D+B-B-C+
13Clarence Gallagher-- WR417WR21D-B-C+B+D+D+C+C-D+D-D+C-B+C+A-B+
13Cloyce Dittman-- WR845B-GUNB-31A-B-A-A-C+D-C-C-D+D-D+D+C+B+B+
13Dan Carmichael-- WR1625B+WRB+21C+B+B+A-C+D-C+C-C-B-C-D+C+B+C-B-B+B+B+
13Derrick Miller-- WR845WR33B-C-C+C-D-C+D+B-D-D+C-B-B+A-B+
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
13Don Williams-- WR1552B+WRB+22B+B-B-B+C-C-C-C-C+D-B+B+C-B+B+
13Eric Poole-- WR1017B+WRB+26A+B+C+B-B-D+C-C-C-C-D-C+B-A-C-A-B+A-
13Jack Thomas-- WR9015A-WRA-21B-B-A-A-A-D-C-C-C-C-D+C-D+C+A+C-B+B-C-A-
13Joe Brennan-- WR5976A-WRA-28C+A+B+C+D+D+B-C-C-C-B+C-B+A+C-A-C+
13Kenny Hansen-- WR2319B+WRB+28D-B-C+B-D-C+D+D-B+B+B-A-B-C-B+
13Kwame Farris-- WR620WR26D+B+B+B-B-D+D+D-D+C-C-D+D+A-C+C+B+C+
13Larry Mumford-- WR837B+WRB+26B-C+C+C+C-B+D+C+D+D-C-B-B-B+A-B-
13Marques Rentz-- WR460GUN22C+B-B+D+D-C+C-B-B-D+D-D+D+B-B-A-A-A-B+
13Mike Strong-- WR1446B+WRB+24C+A-D+C+D+B-C-C-D+D-C+A-D+A+
13Nate Ale-- WR1863B+WRB+28A-B-B+C-B-D+D+C+D+B-D+A-C+B-C+B+C-
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
13Norm Lathrop-- WR2525B+WRB+21A-B-B-C-A-D-C+D-C-D+C+C+B+A-B+A-B-
13Oscar Beasley-- WR1250B+WRB+22B+B-A-C+C-C-D-D-D-C-B-D+C+B+A+B-
13Paul Cameron-- WR1663B+WRB+24A-D+C-B-B+B-B-C-C-D-D+D+C+B+C-A+A+
13Tony Howell-- WR6647A-WRA-27A-B+B+D-D-D+D+D-D-B+A+C-B-C+
13Tory Feldhaus-- WR385WR21C+B-C+A-B-D+C+B-D+B-B+C-C+D-D+C+B-B+A-
36A.D. Utt-- WR620KRB+26A-B-B-A-C-C-C+A-D-C+C-D-D-A-C-A-A-
36Bob Sanders-- WR460WR22C-B+C+C+B+C+D+C+A-D-D-C+C-C-C-D+C-B-D+B-A-
36Bookie Hutson-- WR1412B+WRB+25B+B-B-B+A-A-D+A-D-D+D+D+C+A+B+C+
36Bourbon Mayhew-- WR845WR31B-C+B-D+D+D-A-B-D-D-C+A-C-B-
36Buff Gandee-- WR417WR22C-A-D-D-A-B-B-C-C-C-C-D+C-A-C-B-B+C+B+
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
36Butch Borden-- WR5410A-WRA-29B+C+C+A+D+B+A-D+C-B-D+C-D-A-B+C-A-B+
36Carson Gregory-- WR460WR22B+C+B-C+A-C-B-B-D-B-C-A-A-B-
36Cedric Taylor-- WR460WR24B+B-C-C+D-B-A-D-C-C-D-D+D+B-A-B+B-A-
36Chuck Caldwell-- WR1345B+WRB+28B-B-D+B+A-D+D+C-B+B-
36David Blanda-- WR845B+WRB+32D+C+B-C-A-A-D+D-C-C-B+C+B+A-A-
36Don Bosworth-- WR2805B+WRB+21C+C+B+A-D+B+A-C+C-C+D+D-B-A-B+B-
36Dutch Wall-- WR535WR22D-C+C+C-B-A-D+C+D+D-D+B-B+C-B+B-B+A-
36Earl McQuade-- WR1345B+WRB+25A+C+B+C-B-D+B-A-D-D+D+C+D+B+D+B-B+B+
36Emanuel Goodman-- WR460WR24A+C+B-B+D-D-A-A-D-C+D+C-D-C-B+B-B-B+B-B+
36Glenn Hester-- WR460B-GUNB-21C-B+C+B-C-C-D-D-A-D-D+C+C-D-C+B+B-B-B-
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
36Howard Agler-- WR3804B+WRB+22A-B-D-B-B-A-C-D+B-B-D-D-B-A+B-B+
36J.W. Petitgout-- WR845WR31B-B-C+C+D+C+C-D+B-A-C+D+C+C-B-C+A-B+B+
36Jake Allen-- WR620B-GUNB-26C-B-C+D+D+D+A-D+D-C+D-B-B+B-B-
36Jake Ruetz-- WR1625B+WRB+24C+A-D+B+C+D+C+A-D-D+C-C-D+D-D+A-B-B+B+
36James Jackson-- WR862B+WRB+24C-D+C+C+A-A-D+C-D-D-C+B-B-A-B+C+
36Jim Ratterman-- WR535B-GUN23B-C+A-B+D+D+A-B-D+C+C+B-C+A-C+B+
36Jim Schmidt-- WR535WR22C-C-B-D+A-D+D+C-D-C-D-D-B-C+B+
36Joe Slutzker-- WR938B+WRB+25B+B-C+D-B+B+D-B-A-B-D+D+D+C-C-B-D+A-A-A-A-
36John Humphrey-- WR310GUN21A-B+D-C+D-D+A-C-D+D+D-C-B-B+B-B-A-A-C+
36John Lawson-- WR698B+WRB+21B+A-C+C+D-B+A-C-B-C+C-D-B-B-B+A-C-A-A+C+
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
36Merv Bergerson-- WR535WR23C+A-B+D+B+C-A-D+D-D+D-D+D+B-C-A-B-B-
36Mike Wilson-- WR745WR32D-C+C+B-D+D-C+A-D+C+C-D+D-D-B-C-B+B+
36Nick Taylor-- WR535WR22B+B-D+C-C-D+A-D+B-C-D+D+C-A-B-
36Raynoch Andrusyshyn-- WR535WR23A+C+C-C-B-A-D-C+B-C-D+C+B+C+B+A-B-
36Rick Long-- WR2525B+WRB+28C+B+D+B+C-D+A-B-C-D+D-A-C-B+A-B-B-
66Ben George-- WR620WR27C+A-C+D+D+B+B-D+D+B-B+B-C+B+B-C+
66Bob Compton-- WR745B-WRB-31C+B+B+D+D-C+B-B+D+D-B-D+A-B-B-B+C-
66Cameron Slater-- WR1741B+WRB+28A-B-B-D+C+B+D+B-D+D+C+
66Carl Billock-- WR745WR27C-C+B-B-A-B+D+C+D+D+D+B-B+B-A-B+A-B+
66Chad Lomasney-- WR460WR23C-C+C+C+D-B-B+D+D+D-D+C+C+A-B-
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
66Charley Wegert-- WR1017B+WRB+23C+D+D+D+B+C-C+D+D-D-B-C+B-B+B+
66Chris Gorinski-- WR845WR31C+B-B-A-B-B-C+B+B+C-C+D+D-D-D-B+B-A-
66Chuck Peters-- WR1130B+WRB+24D+B-D-B-C-B+D+C+C-D-D-B-A+B-A-A+
66Clifton Friede-- WR385WR22C-B+A-B-B-D+A-B+D+C+C-C-D+D+B+B-B+B+
66Craig Rambo-- WR535WR23C-A-B-C-C-B+B-B+C+C-C+D-C-A-A-B-
66D.L. Dishman-- WR964B+WRB+24B-B+C+A+B+D+D-D+D-D-D-D+B-C+A+C+B-
66Darryl Chilton-- WR837B+WRB+22A+C+B+C-B-B+D+B-D+B-C-B-B+B+A+C+
66David Roche-- WR620B-KR23B-B-C-D+C+B+C-C+D+C+C+D-D-A-B-C+
66Dean Rorison-- WR620WR27A+C-D+B-D+B+C-C+D+A-C+B-
66Del Blue-- WR633WR23A-C-C-C-D+A-B+D-C+B-D+B-B+B-
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
66Doug Kiick-- WR745B-WRB-29D+B-C-D+D+A-B+B-B-C-C-D-D+C-C+D+C+A-
66Frank Kemoeatu-- WR620B-WRB-26D-C+B-B+C-B+D+D+D+D-C-C+D+B+B-
66Fred Office-- WR385WR22A+B-B-D+B+D+D-B-D+C-D-B+C+
66Fred Secord-- WR385WR21C+B+D+C-B+C-D+D+A-B-B-A+
66Gil Andrusking-- WR620WR28A-B-D+B-B+B-C-C+A-C-B+B+B-
66Jack Johnson-- WR845B-WRB-32C-C+D+D-C+B+D+B-A-C+B-B+B-B+
66John Simmons-- WR698WR25B-C+D+B-C+B-B+C-C-C-C-C-D+B-C+A-A-B-B+
66Leon Freitas-- WR766WR30D+D+B+D-C+D+B+A-B+B+B-
66Mike Hayes-- WR535B-WRB-23D-B+D-C+C-C-C-D+B+D+C-C-C+D-D-C+C+B+
66Mitchell Torkelson-- WR845WR32D+C+B-B-C-C-B-B+D+C-D-D-C-C+B+D+B+B-B+
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
66Paul Johnson-- WR460B-WRB-24C-B+D-B+D+D+B-D+D+C-B+C+B+
66Paul Lee-- WR745WR27C+A-B-B+C-C-D-C+A+
66Ray Berzinski-- WR633B+WRB+22D+B-B-C+A+B-C+B+D-C-D-C+C-B+A-B+B-
66Reggie Douglas-- WR745WR29B+B-A-C-D+D+C+B+C-C-C-D+C-B-B-B+
66Reggie Graham-- WR745B+WRB+26B-B-B+D+D-C+C-D+B-A+C+B+B+B+
66Russell Tarrant-- WR1313B+WRB+25D-A-C+A-A-C+C+B+C-D+C-D+A-
66Sam Seabron-- WR620B-WRB-26C-C-D+C+C+D-C+B+C-D+B+D+D+B-C+D+B+B+B-C+
66Shawn Farr-- WR620WR26A+B+B-C-C+D-B+B+C-D+C+D+D+D-A-C+
66Tom Jeffers-- WR620WR25B+B-A-B-D+D-C+B+D-C-D+C+D+C+B-
66Tom Swanson-- WR620WR23B-C+C+B-B-D-C+B+D+B-D+D-D+C+B+B-C+B-B-
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
66Tommy Shanley-- WR654B+WRB+26B-B+B-D+A-D-B-B+C-D-B-D+D+B-B+B-
66Tony Larson-- WR837B+WRB+22C-B-C-B-D+D+B-B+D+C+D+A+C-A-B+
66Wayne Nunley-- WR620WR25A-B+A-C+C+B+C-B-D+B-C+D-C+B-B-C+A-A-
104Adrian Smith-- WR620B-WRB-25D+B+D+D+C-D-B-D+C-C-D-A+C-
104Anthony Smith-- WR460WR22A+B-C-B-B-C-C-D+B+B+
104Antwaan Beasley-- WR385KR22B-C-C+D+D+C+D-C+D+C+D-C+B-B+A+A-B+B-A-
104Billy Nash-- WR620WR26C-C+C-D+C-D-C-D+D+C-B+A-B-B-
104Bob Dempsey-- WR535WR26C+C+B-B-C+C-A-D-D+D+C+C-D+B+C+B+A-B+C+
104Bud Perina-- WR633WR20B+C-B-B+B-B-C-C+C+D-D+C+D-C+B+D+A+B+
104Charles Krause-- WR745B-WRB-27A-B-B+C-D-B-C-C-B-C-B-C+D+A-B+
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
104Chris Johnson-- WR745B-WRB-28A-B-B+B-B-C+C-C+C-C-D-B-B+C+A-B-
104Chris Pelluer-- WR745WR29C-C+B-C+D+D+B-D-D-D+C-A-B-B+
104Demetrius Heard-- WR1378B+WRB+26A-C-D-B+C-C-B+C-D+A+D+B+B+B-
104Ed Bagarus-- WR460WR21C-B+C-C+C-B-B-B-D+D+C-C-B-A-A-
104Fred McGrath-- WR620WR27B-B-C+B-D+B-C+D+C+D+C-B-B+B-B+
104Gene Leonard-- WR745WR26C+B+B-C+D-B+C+D+D-C+D-D-B-D+A-B+A-
104Jim Scales-- WR845B-WRB-31B-C-B+C+C-C+C-D+C+B-B-D+B+C+B+B-
104John Clarks-- WR1503KRB+24A-B+B-B-B+D+D+C-A+C+B+A-C+
104Keiron Alexander-- WR845B-WRB-31C+C-B+D+D+B-D+D-C+C+B+C-B-
104Leo Jackson-- WR460B-WRB-22C-B+A-D+B-C-C-B-D-C-C+C-A-B-C+
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
104Leonard Hood-- WR745B-WRB-29B-A+C+C-D+C-D+C-C+B+C-A-B+C+
104Richard Harris-- WR460B-WRB-23C+B+D+B-C-D+C-D+D+C+D+C+B-
104Stan Callens-- WR1073B+WRB+26C+A-B-B+A-C-D+D+D+D+B-B+C-C+B+A-A-B+
104Steve Charles-- WR1734B+KRB+26C+A-C+C+A-A-D+D+C-D+D+D-D+B-B-A-C-C+
104Tag Toomay-- WR620WR24C-B+D+A-C-C-C-C-B-D+C+B+B+B-
104Ted Rudolph-- WR620WR24C+A-B-B+B+C+D+C-D+C-C-C+D-B-C-B+C-A-
104Ted Seabaugh-- WR620B-KRB-25B-C+B+B-C-C+C+D+D+D+D+D-B+C-C+C+B-
128Anthony Guillory-- WR620B-KR25C-C+B-C+D+B-B-C-D+C-D+D+A-C+A-B+C-
128Anthony Mawae-- WR789KRB+24B-C-A-B-C-B-C-C+D+D+C+D+B-A-A+A-
128Barry Cannavino-- WR385WR21C+C+C+C+C-B-B-B-C-C-C-B-D+D+C-B+B+A-
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
128Barry Smith-- WR310B-WRB-20C-C+C+A-D+D-B-B-C-D+C-B+A-C+B+B-B-
128Bob Spillers-- WR620WR25C+B+C-C+D-C-B-D-D-C+D+C-D-D+D-B-A-C+B+
128Bobby Harris-- WR620WR26C-B-B-A-B+C-B-D+C+D-C-A-C-B-B+
128Brett Tomaini-- WR535C+KRB-22C+C-D-C-B-B-D+D+D-C+C-B+C-
128Calvin Kauric-- WR620WR25C-B-C+B-C-D-B+B-D+D+C+D-D+B-B+A-C-B+
128Carl Bonelli-- WR620WR25B+C+B-D+B-B-D+D+D+B-D+B+B-B+
128Chris McBride-- WR620WR26C-B-C+D+D+B-C-C+D-D+C+B+C-B+
128Dennis George-- WR620WR24B-A-B+C-B-B+D+B-D+D+C+D+A-B-
128Erk Richardson-- WR620B-WRB-24C+C+B+C+C+B-C-C+B-C-D-B-C-D-C-B+D-B-B+D+A+B+A-
128Greg Perot-- WR745WR30C+B+B+D+B-B-D-D-D+D-D+B-A-
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
128Herman Tuiasosopo-- WR620WR26B-A-A-B-B-B-C+C+D-D-D-C+A-B+
128James Karcher-- WR745WR27A+B-B+D-D-B-D+C+C-D+D-B-C+A-B-
128Jeep Dieter-- WR745WR27B-C+C+B+A-D+D-B-D+D+C-D+B-A+C-A-B+B-B+
128Jeff Schwartz-- WR845WR29B-C-D+D-D-D+B-D+D+D-A+C+A-B-
128Jim Meehan-- WR620B-WRB-25B-B+B-D+D-C+B+C+B+B-
128Jim Suhey-- WR620WR26B-C+A-B-B-B-C-D+C-D+C-B+C-B+C+B+
128Jimmy King-- WR620B-WRB-25B-B+C+C+D+D+C-B-D+B-D+D-C+B+C-C+A-B+C+
128Justin Mooney-- WR535B-KR24B+B-B-D+C+B-D-D-D-D-D-C+B+A-C-A-
128Leonard Nowak-- WR460B-KRB-23C+C+B+B-D-C-B-C-C-B+B-B-A-B+A-
128Mark Richard-- WR385WR21C+B+B-A-A-D+D+B-D-C-B-C-D+D-C+A-D+B+C+B+
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
128Paul Haley-- WR620B-KRBB-27B+C+D+B-C-B-B-B-C+D+C+C+D-B+B-A-B+C+
128Red Morrissey-- WR745B-WRB-29B+C+B+B+C-A-B-D+C-C-B-C+B+B+C+C+
128Scott Guidry-- WR745B-WRB-27B-C-D-A-B-C-C-C+C-D-D-C-B-B+D+B-B-
128Tim Gradishar-- WR845B-WRB-33C-C-C+C+D-B-C-B-D+D-C-D+D+B-B+B+B+
128Travis Lewis-- WR620B-KR29C-B-A-D+D+C+B-D+C-D-A-D+B+A+B-
156Anthony Mallard-- WR745B-WRB-31B-B+B-B-A-C-B-C+C-C+B-A-C+B-B-
156Brian Holt-- WR1159B+WRB+25A-C+B+C-A-C+D-D+C-C-C+D-C-A-A+A-A-
156Don Wiggins-- WR745B-WRB-28B-B+D+B-B-C-D+C+D-B+D-D-C-B+D+B+
156Frank Milburn-- WR620B-WRB-26C-D+B+C+C+D-D+D-D+C-B+C+
156George Hathcock-- WR620B-WRB-27C+C+B+B-D-C-C+B-C-D+B-A-C+C+A-B+
Rank Name Team Pos Sal Ovr BRole BOvr Age Pot Hlth Sta Att Agr Exe ThrP ThrA Crry Ctch PBlk RBlk PCov RCov Tkl Purs KP KA KR Spd Str Jmp Agl Hnd BrkT
156James Hudock-- WR745WR27D+C+C+B-C+B-C+C-D+C+C-C+B+A-B-B+
156Keith Apsit-- WR745WR27A-B-D+C+B+D+C+C+D+C-B+A-B-A-B+
Note: Players with the same Catching rating are considered equal for ranking purposes.