It seems like we say this every off-season, but this time we really, REALLY mean it:

That was the wildest NBA off-season ever.

Superstars shifted teams — and teamed up — and with that contenders for the crown rose and fell (including the team with the crown). It was a summer where elite players, the ones who have true power, flexed that muscle and forced their way to where they wanted to go — in the middle of a contract or not, to a team that had cap space or not. It was an offseason of drama that has the NBA reconsidering its free agent negotiation rules. It was everything fans have wanted.

It was a lot to digest, but here are our 10 biggest moments of the NBA offseason.

1) Kawhi Leonard chooses to join Clippers, gets Paul George to join him

That Kawhi Leonard ultimately chose the Clippers was not a total shock (at least not to anyone paying attention). The Clippers had all but stalked Leonard during last season, to the frustration of the Toronto Raptors, and sources had told me (and other reporters) all season long this was a two-team race between the Clippers and Raptors. In the days leading up to Leonard’s decision, there was tremendous confidence coming out of the Lakers’ camp —they thought LeBron James and Magic Johnson making separate pitches that they thought went incredibly well, and besides who had ever chosen the Clippers? — and they felt a little blindsided by the move. But in the end, Leonard wanted to come home to Southern California, something the Raptors simply could not compete against even though they did everything right, and Leonard did not prefer to play with LeBron on the Lakers.

The shocker was Paul George being recruited by Leonard then forcing a trade play for the Clippers. That came together fast. Leonard wielded his superstar power and tried to recruit several stars to join him — Kevin Durant and Kyrie Irving got calls — but George listened, liked what he heard, and demanded a trade. Nothing leaked because critical parts of the Clipper front office, starting with GM Michael Winger, came out of Oklahoma City and knew their GM Sam Presti.

Then suddenly the bombshell landed: The Clippers got Leonard as a free agent and George in a sign-and-trade (which sent a massive package of players and picks back to Oklahoma City).

No other move this summer changed the NBA landscape like this one. The Clippers are now legit title contenders, and maybe the favorites to hoist the Larry O’Brien Trophy. The Lakers were left scrambling to fill out their roster. Oklahoma City got a massive haul of picks and players and is now embarking on a rebuild that likely will include the trade of Russell Westbrook at some point (they hope before the season, but it’s a complicated deal to pull off). And Toronto, when it sobers up from its title celebrations, has some tough decisions to make about what’s next, but they fall out of title contention in the East.

2) Anthony Davis traded to Los Angeles Lakers

At the trade deadline in February, this is what Davis and his agent Rich Paul had pushed for, and what the highest levels of Pelicans ownership had pushed back against — Davis being traded to the Lakers to team up with LeBron. When David Griffin came in as the new VP of basketball operations with the Pelicans he brought in a new mindset: If the Lakers put the best offer on the table, we have to take it. It’s about what’s best for New Orleans, not spite. Kyrie Irving leaving Boston meant the Celtics would not put out the offer the Pelicans most wanted, so the Lakers became the best deal available. The Pelicans got a great haul of players and picks to jump-start the rebuild — around Zion Williamson, winning the Draft Lottery cushioned the Davis blow in the Big Easy — and the Lakers got their star.

The Lakers have two of the top seven players in the NBA, pus Kyle Kuzma, Danny Green, DeMarcus Cousins and an interesting assortment of veteran role players. The Lakers may not be a great regular season team in the deep West (four seed?), but if LeBron and Davis are healthy this team is incredibly dangerous in a playoff series.

3) Kevin Durant and Kyrie Irving team up in Brooklyn. Or, will, eventually.

Four years ago, Sean Marks took over as the GM of the Brooklyn Nets and the toughest rebuild job in the NBA. The previous regime had traded away draft picks and left the cupboard bare. Marks made smart decision after smart decision — finding Caris LeVertand Spencer Dinwiddie, trading for D’Angelo Russell and giving him the room to become an All-Star — and built a strong cultural organization with coach Kenny Atkinson. They got to the playoffs in the East last season without a true No. 1 option on the roster.

All that impressed Kyrie Irving and Kevin Durant enough to come be the elite stars Brooklyn craved. The pair had decided to team up as free agents even before the NBA season started — certainly long before Durant tore his Achilles in the NBA Finals — and while the Knicks had been the rumored destination all season, when the pair surveyed the landscape they realized the Nets were the better choice right now. They took it. Brooklyn is now a contender… or should be in a year when Durant returns from his injury. This season it’s Irving leading a young team again, which could get interesting.

4) Jimmy Butler chooses Miami, forces sign-and-trade there

Philadelphia wanted to keep Jimmy Butler for obvious reasons — at the end of playoff games last season it was Butler with the ball in his hands as the playmaker for the team, while Ben Simmons was floating around in the dunker’s spot. Butler, a wandering soul trying to find the right home for himself the past couple of years (we can safely say it was not Minnesota), decided he wanted to be in Miami. And the Heat wanted him — Pat Riley and Eric Spoelstra are grinders of the top order, and there was a great cultural fit.

The problem: Miami was capped out. This had to be a sign and trade and it became a complex four-team one that at its core sent Hassan Whiteside to the Trail Blazers, Josh Richardson to the Sixers, Maurice Harkless and a future first-round pick to the Clippers, and Meyers Leonard to the Heat with Butler. Butler signed a max contract in Miami, and the Heat are a dangerous team again (and one on the hunt for another star to join Butler).

Philly comes out of this well because…

5) Al Horford chooses to join Philadelphia

The Sixers lost Butler, but they may just have gotten better this summer. In part because Josh Richardson is a very good player — he was asked to be a No. 1 in Miami last season and he’s not that, but ask him to play a role and he will do it at a very high level, plus he’s a good wing defender — and in part because that freed up the cap space to get Al Horford.