The NBA has already seen major shake-up with the Jimmy Butler trade to the Timberwolves on draft night, Chris Paul to the Rockets, and the stunning Paul George to Oklahoma City trade on the night before free agency. NBA free agency officially began on July 1 and more moves are sure to come.

The 2017 NBA free agent class is relatively shallow, with some mammoth names up high (including five 2016-17 NBA All-Stars), a few young blue chippers, and a metric ton of situational role players. Power forward and point guard are rather deep in this class, whereas there are few decent available centers or shooting guards.

Teams are going to have to get creative, in other words.

We’re presenting our NBA free agent rankings somewhat differently this year. We pulled together a list of the top 50 free agents overall, then sorted them by position. (We listed them in the position they played the most last season, according to Basketball-Reference’s play-by-play data.) As such, we don’t have an overall top 50 ranking, or even a top 10 for each position.

Needless to say, with such shaky options outside of the marquee stars, this is all rather subjective. Some players not listed in these rankings could easily be better fits for specific teams’ situations than the players listed. We’ll leave those decisions up to the general managers.

Let’s get to it.

NOTE: We updated these rankings on June 29 to reflect Chris Paul’s decision to opt in and the Mavericks’ decision to decline their option on Dirk Nowitzki.

NOTE: We are adding in agreed deals as they happen.

Point guards

1. Stephen Curry: Golden State Warriors

5 years, $201 million to stay with Warriors

Curry isn’t going anywhere. On the first night of free agency, he agreed to a 5-year, $201-million designated player maximum contract with the Warriors, earning Curry that big pay day he’s been waiting for. While Steph was the No. 2 overall free agent in this class behind Kevin Durant, it’s worth noting that the Warriors were always going to re-sign the top two free agents in 2017 with two other All-Stars already locked up on the roster. Good grief.

2. Kyle Lowry: Toronto Raptors

3 years, $100 million to stay with Raptors

Lowry might have been the best guard in the Eastern Conference this season until an elbow injury derailed his All-NBA campaign. Lowry blossomed into an all-star in Toronto, but the franchise has vowed changes after a disappointing sweep by the Cavaliers. The Raptors are already paying DeMar DeRozan more than $30 million per season. Can they pay the backcourt $65-70 million a year and build a competitive team around them? Perhaps not.

The Raptors’ saving grace may be that few teams have needs at point guard and big salary space to lock up with a 31-year-old. Lowry’s worth a massive contract, but this might be the wrong year to maximize his earnings with more affordable options right behind him.

3. George Hill: Sacramento Kings

3 years, $57 million to join the Kings

Hill helped bring Utah along as a game-changer in the backcourt despite missing 33 games due to injury. He’s not the scorer, passer, or playmaker that CP3 or Lowry are, but like those two, Hill is a steadying force. Utah would love to bring him back, but a salary crunch and big offers out there for Hill may lead him to leave.

If Hill’s medical records check out, he’d be a huge aid to a team looking to make a leap with a need at point guard. The Bucks, Nuggets, and Pelicans would be stellar landing spots if they can open the space.

4. Jrue Holiday: New Orleans Pelicans

5 years, $126 million to stay with Pelicans

Holiday struggled to find his way with Anthony Davis and DeMarcus Cousins, but the trio came along as the season wrapped up. The Pelicans were in a bind: if they didn’t pay up to retain Holiday, they wouldn’t have cap space to chase someone like Lowry, Hill, or someone slightly lower on this list. It was much easier to pay big for Holiday than pay slightly less for Jeff Teague or Patty Mills because of Bird rights.

Holiday can defend — a must for this team at the point — and is a passable deep shooter. Time may be all he and the Twin Towers need to make it work, provided he can remain healthy.

5. Jeff Teague: Minnesota Timberwolves

3 years, $57 million with Timberwolves

Immediately upon the calendar turning to July 1, Jeff Teague and the Minnesota Timberwolves agreed to a three-year deal worth $57 million. Teague put up good numbers for a shaky Pacers team last year but with Paul George gone, it was unlikely Indiana would bring him back.

Now he’s the new point guard for the Timberwolves, replacing Ricky Rubio who was traded to the Utah Jazz. Teague will join Jimmy Butler, Andrew Wiggins, and Karl-Anthony Towns as Minnesota tries to make its run in the stacked Western Conference.

6. Patty Mills: San Antonio Spurs

4 years, $50 million to stay with Spurs

Patty Mills and the San Antonio Spurs agreed to a 4-year, $50 million deal quickly on July 1. Mills has an impeccable reputation as a teammate, and he’ll only be 29 next season. He’s never been a full-time starter, though, yet that may change this season with or without a healthy Tony Parker.

7. Derrick Rose

Rose feels like empty calories at this point. With the right coach and teammates, he could turn into a top-drawer back-up point guard. You just wonder if he’s ready to follow that path or if he still believes he can still be an all-star (which he cannot). Seeing what market develops for him this summer should be fascinating.

8. Darren Collison: Indiana Pacers

2 years, $20 million to join the Pacers

Collison has actually been solid for the Kings over the last couple of years, and he’s quite a shooter. There’s a strong possibility Sacramento will re-sign him to help bring De’Aaron Fox along, but he could end up as a back-up somewhere for $10-12 million per season.

9. Shaun Livingston: Golden State Warriors

3 years, $24 million to stay with Warriors — final year only $2 million guaranteed

Shan Livingston and the Warriors agreed to a 3-year, $24 million deal that begins to keep the Warriors bench in place. Livingston doesn’t put up numbers, shoot threes, or set up his teammates too much. But he’s a fierce defender, a high-character teammate, and the post-up god of point guards. Livingston probably could have taken a bigger payday elsewhere but winning with the Warriors was more important.

Shooting guards

1. J.J. Redick: Philadelphia 76ers

1 year, $23 million to Trust The Process

Redick is clearly the best shooting guard available, and it was highly likely he’d leave the Clippers. Indeed he did — to take a one-year payday to go to the 76ers.

It speaks to the value of Redick’s skills that L.A. -- with world-class scorers CP3 and Blake Griffin — made it a point to get Redick shots early and often. Redick has also built himself into a fair defender despite a persistent size and speed disadvantage. He knows where he needs to be on both ends.

A huge contract in the wrong situation, though, could have been a disaster. He needed a point guard to set him up and a strong wing defender to bail him out of tough assignments. The 76ers have both, so this is a terrific fit.

2. Dion Waiters: Miami Heat

4 years, $52 million to re-sign with the Heat

Waiters had an incredible contract year — one for the history books. It’s too bad Miami fell just short of the playoffs so that Waiters couldn’t hit a dagger in Cleveland. This year, Waiters found his true calling: as the new Jamal Crawford. Some team -- quite possibly the Heat, or maybe his hometown 76ers — has to realize this and pay him big dollars to chase his destiny.

3. Kentavious Caldwell-Pope (Restricted)

Caldwell-Pope, like pretty much everyone else in a Pistons jersey last season, fell short of expectations. He’s a high-potential defender who would be a blue-chip stud if he could hit threes at a higher rate. As it is, he’s an inefficient scorer due to his inability to attack the rim. That leads to few free throws and too many long twos.

Caldwell-Pope is a restricted free agent. You wonder if some team will be bold enough to offer up a max contract to see if Van Gundy will commit. The two-guard market is extremely shallow.

4. Jonathon Simmons (Restricted)

Simmons is Tony Allen for a new generation, with less marketing genius. The Spurs have an advantage with restricted status, but someone could certainly sneak in there with a quick offer sheet as San Antonio attempts to make a big move. Paying Simmons $15 million a year seems like a huge risk given his lack of offensive punch.

5. Tim Hardaway, Jr. (Restricted)

Hardaway has no lack of offensive punch. If Paul Millsap leaves the Hawks but Hardaway comes back, he could end up as Atlanta’s leading scorer! It’d be empty calories in large part, though: Hardaway isn’t much of a defender or a playmaker for others.

There’s a big risk that with a larger shooting load, his efficiency will crash. He’s shot quite well on two-pointers without drawing many fouls: that’s a volatile situation to be in. In addition, he already takes a high volume of threes. Any additional threes could be especially tough, and lower his long-range efficiency.

There is danger in these waters.

6. Kyle Korver: Cleveland Cavaliers

3 years, $22 million to stay with Cavaliers, final year partially guaranteed

Korver’s at the end of his career, but he is extremely good at an extremely important skill. That was worth some dough to Cleveland.

7. Manu Ginobili

Ginobili may very well retire. We thought that could be the case a year ago as well ... and he ended up with a nice eight-figure contract. So long as Ginobili wants to play in the NBA, he should be paid handsomely to do so. The world needs Manu more than ever.

Small forwards

1. Gordon Hayward: Boston Celtics

4 years, $128 million to join the Celtics (twice!)

Hayward is one of the biggest prizes of free agency, and it’s easy to see why. Hayward’s an ascendant highly efficient scorer who moves the ball well and is just 27 years old. He may not be an All-NBA caliber player, but he’s quite possibly a regular all-star over the length of his next contract. You dream about landing players like this in free agency. Kevin Durant was the only better player to switch teams in free agency a year ago.

Utah has home-court advantage both in terms of total guaranteed salary and comfort level. But Hayward will look around, and he could make a massive difference for a new team like Boston or Miami.

2. Otto Porter (Restricted): Brooklyn Nets or Utah Jazz

4 years, $104 million offer sheet from Nets (Wizards likely to match)

Porter finally came along in his fourth season, just in time to shore up a max-level second contract. It’s incredibly unlikely he’ll earn it anywhere other than Washington, D.C., since Porter is a restricted free agent. The Wizards didn’t make Bradley Beal sign a max offer sheet elsewhere a year ago, and they are unlikely to change course with Porter.

Otto is a solid wing defender who became an incredibly high-efficiency scorer in 2016-17. If he were an unrestricted free agent at age 24, there’d be a huge battle for his services, as there will be for Hayward. But Porter fits right in with the Wizards, and they’ll gladly be the ones to pay him big bucks.

3. Rudy Gay

Gay at No. 3 coming off a ruptured Achilles shows you how shallow the small forward position will be in this market, especially considering Porter’s restricted status. But Gay is an impressive old-school scorer who was decently efficient playing off DeMarcus Cousins in Sacramento. He’s no stopper on defense, but he’s better than most give him credit for being. He is a stopper — a ball-stopper — on offense, though. That means fit is incredibly important.

Gay would be a nice reserve scorer if a team has salary flexibility to slot him in that role and he embraces it.

4. Andre Iguodala: Golden State Warriors

3 years, $48 million to stay with Warriors

The NBA Finals were anticlimactic, but they served to ensure Iguodala gets paid one way or another. He looked downright spry after a hobbled close to the season, and his clutch defense on LeBron James showed he still has it.

He created a market to threaten Golden State into giving him a bigger contract than the Warriors likely wanted, but at least he’s back.

5. C.J. Miles

It seems impossible that C.J. Miles just turned 30 at the end of the regular season. The power of the preps-to-pro black mirror knows no bounds.

Miles is just a very solid NBA wing: he’s quite efficient, will defend anyone you throw at him, and fits in. He never stands out, but every team could use a few players like him. He seems like the perfect Houston Rocket.

6. Andre Roberson (Restricted)

Roberson’s free agency should be fascinating. He’s a world-class defender who is an absolute drain on offense. He can’t shoot, he’s an intentional foul liability, and he’s not a terribly dangerous slasher (unlike the younger version of Tony Allen). He could learn to shoot or cut more effectively, but paying what he’s likely to cost is a mighty big risk, especially considering that defense is cheaper to purchase on the open market.

Roberson is going to get more than Solomon Hill did in 2016. Is that appropriate? It’s not clear that it is.

Of course, the Roberson situation could end up boring if Oklahoma City — who has restricted status on him -- cuts a check before he chases offer sheets.

7. Tyreke Evans

Evans isn’t particularly good at any one thing, but he plays three positions (four in a pinch), moves the ball really well when he’s not pounding it into the floor, and is an excellent rebounder when playing the guard positions (less frequently last season, hence his listing at small forward). His versatility and youth (28 next season) will get some team to talk themselves into him. It might even work out.

8. Joe Ingles (Restricted): Utah Jazz

4 years, $52 million to rejoin Utah

Slow Mo Joe was more valuable to Utah than he would be to most franchises. It’s lucky, then, that the Jazz had restricted rights on Ingles. As Utah concentrates on retaining Hayward and Hill, and perhaps moving Derrick Favors and Dante Exum, Ingles could have gone out and find a team willing to pay a 30-year-old low-scoring glue guy.

But the offer was within reason and Utah needed to keep the team together for another run. There’s peril in a fat Joe Ingles contract, but not so much for the Jazz. They are in control. Now, let’s see if Hayward joins him.

9. P.J. Tucker: Houston Rockets

4 years, $32 million with Rockets

Tucker was a boon for the Raptors as a wing defender, but it’s quite risky to pay big money to 32-year-olds who don’t score or create much. Toronto needs defenders more than most, but Tucker is not irreplaceable. That’s why he jetted to Houston.

10. Bojan Bogdanovic (Restricted)

Bogdanovic is an effective, efficient bench scorer. But he’s a minus defender and a black hole. Be careful here.

Power forwards

1. Kevin Durant: Golden State Warriors

2 years, $53 million to re-sign with the Warriors ($7 million less than his max!)

Durant is the best free agent for the second straight year, and he’s in the conversation for best basketball player in the world. Unlike 2016, though, Durant isn’t switching teams. He’s relishing life in the Bay Area too much, especially after a dominant NBA playoffs run and championship.

2. Blake Griffin: Los Angeles Clippers

5 years, $173 million to stay in L.A.

Chris Paul may have bolted for Houston but Griffin is staying in LA. The Clippers and Griffin agreed to a deal worth 5 years, $173 million right before free agency kicked off. Griffin is a majestic scorer and rebounder and one of the best passing big men in the league, but he hasn’t played anything close to a full season since 2014. He’s a max-contract player regardless. His health will likely determine again whether this works out or not for the Clippers.

3. Paul Millsap: Denver Nuggets

3 years, $90 million with Nuggets, third year team option

Millsap is a top two-way power forward whose shooting efficiency has slipped as Atlanta has hemorrhaged talent. Put him in the right setting and his efficiency could bounce right back. The risk here is due to his age -- he’s 32 — and his inability to develop consistent three-point marksmanship. His excellent defense makes up for it, but there’s a chance that Millsap could become an anchor on the back end of his contract if he loses a step and can’t guard agile bigs going forward.

The Nuggets were able to snag him with an excellent contract, and he should be a terrific fit there.

4. Serge Ibaka: Toronto Raptors

3 years, $65 million to stay with Raptors

Ibaka salvaged his contract year by playing well down the stretch for Toronto after getting lost in the Orlando morass for the first half. Serge remains a top-notch defender despite losing an edge over the years, and his jumper is reliable. (It’s worth noting that Ibaka is a superior deep shooter to Millsap.) He’s had just one major injury over eight seasons, and will be just 28 years old next season.

5. Danilo Gallinari: Los Angeles Clippers

3 years, $65 million with the Clippers

The Rooster is one of the best stretch four scorers when he can stay healthy, which has unfortunately been a problem. Gallinari was really efficient last season, but missed 19 games. He’s a minus on defense, which makes him an imperfect fit in Denver, which needs some defensive help in a bad way. Beyond that, it just feels as though the Nuggets are ready to move on from the Gallinari era.

The Rooster can play either forward position, and might be a nice consolation prize for a team that doesn’t land Hayward or Griffin. The Jazz could end up being a nice fit.

6. JaMychal Green (Restricted)

Green is a role player, but a high-level one. He’s highly efficient at low volume and can defend well. Green is a solid rebounder at power forward, but shouldn’t be asked to move the ball or create his own shot. He needs to be featured in a unit that has enough scoring and passing around him. It’s hard to imagine him being better anywhere else than he is in Memphis, where he was a godsend last season. He’s a restricted free agent, so the Grizzlies should have no problem keeping him.

7. Dirk Nowitzki

Dirk isn’t leaving Dallas — the belief is that he will sign a new two-year deal with the Mavericks to finish out his contract. He’s still a strong supplemental scorer and a locker room legend. Thank goodness the Mavericks won’t let some team Ewing On The Sonics or Hakeem On The Raptors him.

8. James Johnson

Wyoming’s finest was a revelation for the Heat as he remade his body and found scoring and playmaking touch that hadn’t been evident in his previous NBA stops. Defense is Johnson’s bread and butter, but he can shoot and slash too and he’s one of the better big man passers available this summer. Miami appears to be aiming toward a more star-level forward with eyes on Hayward and Griffin; that could lead another team to poaching Johnson early in free agency. If not, the Heat will be glad to give him a salary boost to stick around.

9. Zach Randolph: Sacramento Kings

2 years, $24 million with the Kings (GET THAT MONEY Z-BO!)

Z-Bo is soon to be 36 years old, but the dude still gets buckets. He transitioned well into a bench role last season and would be a huge pick-up for a contending team if he decides to take a big pay cut.

10. Taj Gibson: Minnesota Timberwolves

2 years, $28 million to join Timberwolves

Gibson is a solid defender at power forward who can hit mid-range jumpers and stay out of the way on offense. He could have be a nice role player for a team with scoring punch like Minny, Denver, or Washington, but he instead reunited with Tom Thibodeau in Minnesota.

11. Nikola Mirotic (Restricted)

Mirotic needs to be a better long-range shooter to justify his minutes and volume. You wonder how much of his lower clip from deep has to do with Chicago’s lack of spacing -- he was often the only Bull on the floor who was even a threat from deep. Things could look better with a different supporting cast. Otherwise, Mirotic is an anemic rebounder and poor defender. He’s there to hit shots.

12. Michael Beasley

The Michael Beasley rejuvenation continues. He’s a nice bench scorer who can step out to the three-point line (though he doesn’t do it often). Beasley is basically interchangeable with Marreese Speights.

13. Amir Johnson: Philadelphia 76ers

1 year, $11 million with Philly

Johnson is all about defense. He was a starter on a No. 1 seed, but so was Zaza Pachulia. Amir is better than that, though his value will be purely situational. It’s was unlikely Boston could have afforded to pay him or prioritize him, which meant he was looking for a new fit on the market. Philadelphia jumped at the chance to add veteran leadership.

14. Ersan Ilyasova

The scrap heap stretch four puts up decent numbers wherever he goes. He’s been a solid rebounder in the past two, though he’s not a reliable defender. You’d be glad to have him in your rotation.

15. Patrick Patterson

3 years, $16 million to join the Thunder

Two-Pat is an efficient shooter, but has remained at low volumes his entire career. He’s an undersized but active defender, and he’s pretty young at 28 years old. Patterson is a major candidate to go to a franchise where he’ll work himself into excellent shape, boost his per-game numbers, and set himself up for a payday in one year. Consider him the next James Johnson (replacing the passing with shooting).

16. Jeff Green

JEFF GREEN.

Centers

1. Nerlens Noel (Restricted)

It speaks to the low depth of centers on the free agent market that Noel is easily No. 1 on this list. A top-level defender, Noel doesn’t do anything he can’t. He’s somewhere between Tyson Chandler and Bismack Biyombo. Noel’s yet to have a really good point guard to set him up off picks-and-rolls -- perhaps within a couple years, Dallas draftee Dennis Smith will get there and boost Noel’s scoring output to double-digits.

Dallas will pay whatever it takes to keep Noel, a restricted free agent. He’s going nowhere.

2. Pau Gasol

Gasol’s defense has fallen off considerably (not that it was ever elite), but he remains quite effective as a scorer, rebounder, and passer as he approaches his 37th birthday. The Spurs have apparently worked out a deal to re-sign him after he graciously opted out of a mammoth contract, so expect to see Pau stay in the silver and black for a couple more seasons.

3. Kelly Olynyk (Restricted)

Olynyk’s per-game numbers mask his solid production — he’s just never been a featured player for Brad Stevens. Given a bigger role elsewhere, he could be a 14-8 center at relatively high efficiency given how many threes he shoots. He’s 26 (older than you’d expect from a restricted free agent) and his defense is a mixed bag. But he should probably be a starter in the NBA at his point in his career. Phoenix could be an interesting fit.

4. Mason Plumlee (Restricted)

Denver traded Jusuf Nurkic and a first-round pick for the right to pay Mason Plumlee in free agency, so they’d better do so. Of course, this constitutes falling right into the sunken cost fallacy. Christian Laettner 2.0 is getting a $60-80 million offer sheet from someone; the Nuggets will have to decide what to do at that point.

5. Nene: Houston Rockets

3 years, $11 million with Houston after an initial deal was vetoed by the league

Nene played well on a discount for the Rockets and proved his worth coming off the bench behind Clint Capela last season. The combination of his age (nearly 35) and frequent injuries most likely scared off teams off from making a big long-term commitment, but he’s a very solid re-sign for the Rockets.

6. Dewayne Dedmon

Dedmon will be a fascinating free agent case. He’ll be 28 next season. He’s one of the very best rebounders in the league and a damn good rim protector. But he’s also a foul machine -- it’s not so much his offensive constraints that keep him off the foul as it is his propensity to hack.

There is definitely a huge danger that some team falls in love, tests the Spurs’ loyalty, and gets burned with a bad contract. Alternately, a new team could unlike some hidden finishing talent in Dedmon’s bones and turn him into the next Hassan Whiteside.

7. Marreese Speights

When you need buckets there is only one man to call.

8. Alex Len (Restricted)

Like Dedmon, Len’s problem staying on the floor is often foul trouble. Avoiding fouls can usually be learned. Len’s a nice little scorer and excellent rebounder who is just 24. Phoenix has the right to match, as Len is a restricted free agent. The most obvious solution is for the Suns to offer up a reasonable multi-year extension, but never count out the opportunity for a franchise with cap space to shake things up. No matter the era, young big men in the NBA make teams act crazy.