This past weekend the last two teams hit the 17-game mark, which officially means we're halfway through the 2019 season for literally everybody. And thus it's time to hand out some midseason grades across the length and breadth of MLS.

Bear in mind I'm factoring in Cup play (U.S. Open Cup, Concacaf Champions League and/or Canadian Championship), off-the-field stuff and just baseline expectations as well. If you want to know who the best teams are, just look at the standings. If you want to know who's having the best year, I've got you covered below.

As in school, we’re going in alphabetical order.

Atlanta United: C

It's hard to defend a title, and hard to maintain greatness, and really hard to do both at once while changing over key personnel both on the field and on the sidelines. Atlanta United fans are learning as much through the most frustrating stretch (a full half-season at this point) in team history.

Way back in February there was what seemed like reasonable, payroll-inspired hope that this team could make a deep run in CCL, but they went out with a whimper. There was hope nearly all along that they'd approach the 69 points they collected in last year's regular season, and that they'd lay the groundwork to be considered a true dynasty to be remembered in league annals.

It definitely hasn't worked out that way. Replacing Miguel Almiron has been a bigger task than any one player could handle, and Frank De Boer's methodical, possession-heavy approach has been too much of a departure from the system Tata Martino put into place. As a result Atlanta actually look more like an expansion team now than they ever did in 2017, and other than Josef Martinez's hiked-up, diaper-esque shorts, they bear almost no resemblance to last year's champions.

Of course they're still third in the East on points and PPG, are into the Open Cup semis, and it's not unreasonable to think they could come home with one or even two trophies this year. They certainly have the talent for it.

What they could’ve done better: I don't think the talent fits or has been fit together as well as it could or should be. And Pity Martinez's struggles are starting to scream that the quants who swore he was overrated were right.

Chicago Fire: D

Go by the eye test, and Chicago are sometimes glorious. Go by the underlying numbers, and they look like one of the very best teams in the league. Go by the boxscores, and... 10th in the East, minimal PPG improvement over 2018's misery (1.1 to .94), and a down-the-stretch-they-come fight to even get into the playoffs. A dispiriting one-and-done performance in the US Open Cup from a club that's always placed real importance on that competition is the cherry on top of a disappointment sundae.

They're still capable of performances like this, literally one of the best games of the year from anybody:

But that's their only win in their last nine games across all competition, and it was bracketed by two meh losses.

The Fire got their playmaker (Nico Gaitan has been very good, if not yet great), and are making big moves off the field. But the on-field stuff hasn't gone the way it should've so far this year, and the margins are now officially razor thin.

What they could’ve done better: Put the ball in the net. As per Opta they've scored just 31 times on 38.7 expected goals, the second-worst negative differential in the league. Usually you'd bet on a team with that kind of luck to eventually figure it out, but I've been typing out some version of that sentiment for three months now.

It's also apparent just how much they miss Brandon Vincent and Matt Polster, the starting fullbacks from previous seasons.

FC Cincinnati: F

It took the new kids less than three months to dismiss their head coach, revamp the front office's organizational structure and admit they botched their roster build so badly they're now aiming for 2021 rather than 2020. Cincinnati had a lot of allocation money to spend in the run-up to their expansion year and the early returns say that they basically just lit most of it on fire.

Two numbers that really drive it home:

44, which is the number of goals they've conceded through 19 games. That means they're on pace to set a new mark for most goals conceded in an MLS season, bettering (worse-in?) the record Orlando City set just last year.

0, the number of goals scored by DP center forward Fanendo Adi. Cincy acquired him from Portland for "at least $850,000 of allocation money" according to reports at the time.

And that's the thing: While a lot of the focus on this team's buildout into their first MLS season was on how many players they were bringing from the USL, that wasn't and hasn't been the problem. The problem was 1) coaching, and 2) the top end of the roster, not the guys occupying spots 20 through 30.

Anyway:

What they could've done better: The stuff they've done in the past couple of months has mostly made sense, even if the search for a head coach to replace Alan Koch has dragged on for quite a bit. They're taking their time and have actual soccer people in charge now, the fanbase is great and that new stadium should be glorious. So there's a lot to like.

It just would've been better if this front-office infrastructure was in place on the sporting side 18 months ago.

Colorado Rapids: C

Here's the reality of what the Rapids have: A fun, fast and exciting team with a hungry young core to build around, many millions of dollars coming off the salary cap at the end of the year for a hopefully-better-than-last-time winter retool, and an opportunity next month to ruin RSL's shot at the playoffs.

I think if you'd offered that to Rapids fans – if you'd said "this is what your club could be by the middle of July," most of them would take it. Padraig Smith cut bait on Anthony Hudson when the situation became untenable, made the right SuperDraft pick in Andre Shinyashiki, did really well to hunt for distressed assets both in free agency and on the trade market, and has obviously made it clear that developing that young core is of paramount importance for this team over the rest of 2019 (the playoffs are out of reach despite their good recent run), with legitimate above-the-line contention the goal for 2020.

Next year may feel a bit too soon for postseason dreams but there's a path for this group, especially since two of last year's biggest busts (Jack Price and Tommy Smith) have largely lived up to their price tags under interim head coach Conor Casey.

Casey's situation is the elephant in the room, though. While they've gotten better results since he's taken over, the underlying numbers haven't moved that much and there's an argument to be made that this is merely an extended version of the new coach bounce. Ask Manchester United fans what happens when that wears off.

Casey should absolutely be given consideration for the job, of course. But it's got to be a process.

What they could’ve done better: From what's been reported there was no option to acquire Lalas Abubakar outright from Columbus, and his loan is only for the 2019 season. That one's going to be tough to navigate because the kid just keeps increasing his value.

Columbus Crew SC: F

It really did start so well, with the Crew going 4-1-1 in their first six games and looking very reminiscent of what was a consistent playoff team under previous head coach Gregg Berhalter. But cracks began to show in mid-April, and, well, it turns out they weren't cracks: They were chasms. Columbus have been the worst team in the league since that six-game start, going 1-12-1 in their last 14 and staring at a schedule that says they've got just five home games left. That is a death spiral.

To be fair to Caleb Porter & Co., injuries and international absences have robbed the team of as many as six of their best players at any given time. Berhalter's system was dependent upon excellent fullback play, and they've spent the bulk of 2019 without Milton Valenzuela (who they won't get back until 2020 regardless) and Harrison Afful (just back in action now, and not yet looking himself). Does it make sense to play Berhalter's system if you don't have Berhalter's fullbacks, and with a clearly aging Federico Higuain/without Higuain entirely? Not really.

At the same time, it's very clear that this is more than just a case of missing players, because nobody's played well.

This summer will represent what I imagine will be a multi-window rebuild.

What they could’ve done better: I still find it bizarre that they've increased Gyasi Zardes's usage rate so much, which has led to lots of lost possessions. Whatever identity the Crew come up with in this new era, it's clear they're committed to Zardes as their No. 9 (hence the fat new contract), and if that's the case they've got to be realistic about what he can and can't do in the build-up.

D.C. United: C+

It feels weird to give D.C. United a grade as high as a C+ given that they've been scuffling along in second gear for what feels like the past three months. They've gone just 5-5-6 with a -4 goal differential since the start of April, lost at home to NYCFC in the US Open Cup, and are a couple of Wayne Rooney worldies away from being in an out-and-out crisis:

But yeah, they've got Rooney, who's still one of the best players in the league even if he hasn't been as magical as last year. They're still second in the East (fourth by a sliver on PPG), and any rational assessment of their roster and their recent history tells you that summer window help is on the way.

United have underperformed my expectations, but they're fine.

What they could’ve done better: They may end up looking back at this offseason with some regret, as neither Lucho Acosta nor Chris Durkin have helped their transfer value in 2019 and there's a sense of staleness around the squad right now.

FC Dallas: B+

It feels, in so many ways, like this is so, so so so close to the team that FC Dallas have been aiming for over the past decade. They have a legitimate Homegrown star in Paxton Pomykal – one of the best all-around central midfielders in the league of any age – a half-dozen more academy kids making legitimate contributions from goalkeeper to the front line, Luchi Gonzalez looking like one of the best coaches in the league, an aesthetically pleasing style of play, two seven-figure transfers out in the past six months, and a comfortable spot in the playoff race.

Even though most of the imports of the past couple of seasons continue to disappoint (none more so than TAM center forward Zdenek Ondrasek, who now appears to be fourth on the depth chart behind two teenagers and an MLS journeyman), Dallas have built out the infrastructure to survive multiple underperforming signings. There aren't many teams that can say that.

What they could’ve done better: At some point, if they're going to win an MLS Cup they've got to stop making disappointing signings and start getting their recruitment as right as they get their player development.

Houston Dynamo: C

You've heard this story before: Houston are really good at home and really not on the road. And they lack some depth, and none of their young players really break through, and at times they lack a Plan B for going at good teams. They can be very dangerous in one-off games, but as the second-half collapse against Minnesota United in the US Open Cup showed, they can also be very, very vulnerable since they still lack the ability to put a foot on the ball and control the game.

Given how fast Portland are coming up and how much more favorable RSL's schedule is the rest of the way (they have nine home games left, while the Dynamo have just seven), you could argue that Houston haven't done enough and a "C" is maybe a little generous.

What they could’ve done better: Their offseason attacking and midfield reinforcements just haven't been good enough. Nobody in this league is shallower than the Dynamo, and it shows.

LAFC: A

Here's what I wrote in last year's version of this column:

Everybody was amazed at Atlanta last year, and with good reason, right? They were ruthless and compelling and so, so good.

Through 18 games, LAFC have been 7 points better than the Five Stripes were, and that’s despite losing three players (Carlos Vela, Marco Ureña and Omar Gaber) to World Cup duty. And despite not even having their third DP arrive yet, and despite not getting their leading goalscorer into the XI until June.

The only thing that’s slowed this group down is when they’ve played without a center forward. In those six games they’re 1-2-3. When Ureña or Adama Diomande starts, they’re 9-2-1. Also, unlike Atlanta last year, they’ve got the depth to make a U.S. Open Cup run and are hosting the Timbers in the quarterfinals on July 18.

They have the highest goals per game in the league, the third-highest goal differential, and nine of their final 16 games are at home. They have a legitimate shot at the Shield/USOC double in their first year of existence.

Almost all of that has improved year-over-year. They look like somebody took last year's Atlanta United team and gave them RBNY's press.

LAFC are on track to be the greatest regular-season team in MLS history by a mile if their form continues to hold. Bob Bradley has made the best adjustment of any coach in the league by putting Latif Blessing into that destroying playmaker role, their depth has stood up to every test, Vela eats entire worlds and THEY STILL HAVE AN OPEN DP SLOT.

I kind of want them to troll everyone and sign Chicharito. Let's see this team + an MVP-caliber center forward.

What they could’ve done better: As I wrote above: Almost all of that has improved year-over-year. The one area in which they backslid was the US Open Cup, with Wednesday night's quarterfinal home loss to Portland.

LAFC are almost certain to win the Supporters' Shield by a record margin, and will likely be strong favorites to win the double. But Toronto FC will stand alone for another year as the only MLS team ever to win a domestic treble.

LA Galaxy: B+

Let me sum up the Galaxy for you:

That's basically it. They cross the ball a lot and well; their midfield is filled with solid, multi-skilled veterans; their defense is significantly improved over 2018; and they've got Zlatan in the box.

They're on pace for about 60 points, which is a big year-over-year improvement, and they've gotten better about playing their academy kids, and their signings have been better, and Guillermo Barros Schelotto has gotten better out of some guys who looked like they were going to go on the scrap heap.

They're literally second in the league in PPG, and if it wasn't for their next-door neighbors we'd be talking about them as Supporters' Shield favorites, maybe?

What they could’ve done better: Despite all of the above it hasn't been much fun to watch, either from a pure soccer perspective or from the body language of Zlatan and his teammates (unless you're into cringe TV). I think "Play better soccer" is a totally fair criticism of this bunch, and I bet Zlatan thinks so, too.

Minnesota United FC: B+

Before the Gold Cup break it looked like this team was heading for an F. They'd lost three straight, their DPs weren't producing and the defense had started to fail. The canyon floor was coming up quick and it looked like they'd hit rock bottom on June 18 after 45 minutes in the Texas heat.

A different team came out of the locker room of that US Open Cup round of 16 game, as they hung three unanswered (two courtesy of Darwin Quintero, who's been immense for the past month) on the Dynamo to win 3-2, then came out of the June break with three straight wins to create a little breathing room in the Western Conference playoff race.

In the process they've discovered some depth – Mason Toye has justifiably gotten the headlines with his goalscoring, but they appear to have crushed the 2019 SuperDraft with the additions of Hassani Dotson and Chase Gasper – and have all their key contributors fit and healthy for a second-half push to the playoffs.

This team's into the Open Cup semis, and absolutely should make the postseason. FiveThirtyEight's got them at 73% to get in.

What they could’ve done better: Man, that three-month stretch from mid-March to mid-June was brutal, as they went just 4-7-3 with a -6 goal differential. That's nearly half a season's worth of sub-playoff soccer, and I'll straight-up admit that I don't know if that's the real Minnesota United, or if this bunch that's currently streaking is the real Minnesota United.

They have five of the next seven at home through mid-August (regular season games only). We'll find out which is which by then.

Montreal Impact: B

Every time Montreal give you reason to think they've permanently turned the corner, they then give you at least one reason to think that they're going to continue their steady slide down the table and maybe out of the playoffs entirely. The latest was this past weekend's inexplicable 3-2 home loss to what amounted to Minnesota United's reserves – a loss that you just can't take if you're a serious playoff team.

Nevertheless they are above the line despite missing Ignacio Piatti for all but 353 minutes of this season, and are likely to stay there given 1) their home-heavy schedule the rest of the way, and 2) his imminent return. Piatti is a Best XI-caliber player for a team that desperately, desperately needs one, because their finishing... it hasn't been great:

With Piatti or without him, they have to re-embrace the "sit deep and counter" ethos that got them close to the playoffs last year, and that got them off to a strong start in 2019.

What they could’ve done better: I picked a Maxi Urruti miss as the highlight above for a reason. The DP center forward has one goal in 1500 minutes this year, and just three goals in his last 41 MLS appearances dating back 13 months now.

It was strange at the time to see a counterattacking team commit so much in the way of resources to a center forward who's really only a value add when pressing. It's even stranger now.

New England Revolution: B+

Go back to that Rapids blurb, and let's use the same construction: If I went back to February and offered 1,000 Revs fans a fun, fast and exciting team, with a largely in-its-prime core, a new multi-million-dollar striker signing, the most successful coach in MLS history, a USL reserve team apparently on its way, a revamped front office and an honest-to-god shot at the 2019 playoffs at this point in the season, how many do think would've said "no?"

I'm betting the number is zero. 1000 yesses out of 1000 is totally in play.

Gustavo Bou is going to be a monster in MLS, by the way:

Best of luck to Bou in MLS. The @NERevolution are getting a powerful and hard-working striker who was a joy to watch in Tijuana. #LigaMXeng https://t.co/J1PIkyfGvB — Cesar Hernandez (@cesarhfutbol) July 10, 2019

What they could’ve done better: "Avoided this situation in the first place" is probably not a fair answer. Truth is it's hard to knock anything since making the coaching and front office overhauls, but I'll ding them half a letter grade for losing a very winnable US Open Cup Round of 16 game.

New York City FC: B

Nobody's had a stranger season than the Pigeons, who ended 2018 in a true tailspin and opened up 2019 in the same fashion, going winless in their first six games and putting head coach Dome Torrent squarely in the hot seat. Since then they've gone 7-1-3, have incorporated one of the stealth signings of the year (Brazilian center forward Heber, who's been excellent when healthy), have coaxed real improvement out of a number of their young players, and have survived a fair few injuries and international call-ups.

The interesting part is how much it took to get to this point: Dome came within probably one loss of losing his job. But when he was up against it he simplified, going to a deeper-block 5-4-1 that sometimes played as a 3-4-3, and it worked (long diagonals to the wingbacks for dayyyyyyysssss). And then when he lost the personnel to do that in June, he went to a pretty standard 4-3-3 – reincorporating some of last year's high pressing along the way – and that's worked as well.

So he finally has his flexible team, even if they are, on a game-to-game basis, a much more simplified version of what NYCFC teams have been in the past. He just had to walk the knife's edge to get there.

What they could’ve done better: They'd be running away with the East if they'd been more consistent and cohesive to open the season. And they lost a half-grade on Wednesday night for their Open Cup loss.

New York Red Bulls: B

RBNY lost their best player from 2018 – literally a Champions League-caliber starting defensive midfielder. They've played most of the year without their left back – easily the best in MLS – due to injury and international duty. They've had to deal with an unhappy No. 10, a backline that's been in constant flux (as well as a little bit of individual underperformance), CCL schedule congestion, the hangover of last season's disappointing finish, a big, new offseason signing who's clearly not ready yet, and such a hard and prolonged regression from the franchise's best-ever player that it's fair to ask whether it's regression or is actually just the end of the line.

And yet they're still in sixth place in the East on both points and PPG, comfortably above the playoff line. The Red Bulls remain the league's best at creating real, useful depth out of thin air.

Now Chris Armas has a good problem to solve:

They have everybody back now, and it's entirely reasonable to expect a second-half surge even if their underlying numbers, thus far, haven't been great.

What they could’ve done better: At some point the Red Bull mothership has to throw the team a bone and go out and grab a match-winning, creative winger. Bryan Ruiz for 18 months, maybe?

As much as I like Brian White, he's not going to be able to do it himself in the playoffs, just like Bradley Wright-Phillips hasn't been. One more elite piece is (still) necessary.

Orlando City SC: B

It's been such a massive step forward over the past two seasons that I was tempted to just give them an A+ and be done with it. The lift James O'Connor and his staff have had has felt exactly that huge.

Orlando's biggest improvements have come in defense and just overall team shape, settling mostly into a no-frills, hard-working 4-3-3 that's lent them a level of game-to-game stability that had been missing pretty much throughout their entire MLS existence. The other big improvement has been personnel-related, as Nani, Sebastian Mendez, Ruan and Joao Moutinho have all been match-winners at various points in 2019, while Chris Mueller has made a significant leap in his second year as a pro. There is real optimism here, and real cause for it, and without digging too deep I'm going to go ahead and say that Wednesday night's US Open Cup win over NYCFC was the biggest in team history.

They're into the semis, and – I'm not kidding here – they could absolutely win this damn thing.

Of course, they remain below the playoff line, are unlikely to climb above it, and remain capable of some heartbreaking meltdowns (this weekend's draw at Philly was brutal). So a B it is.

What they could’ve done better: They need a Dom Dwyer whisperer. If he'd finished at his usual rate throughout the first half of the season, they'd probably have a half-dozen more points.

Philadelphia Union: A

Come on, you did not see this coming. I was a huge Union guy last year – I loved the way the played, building chances and dominating the flow of the game via possession – and even I didn't see this coming.

A new sporting director? A new tactical scheme? Another year on the hot seat for Jim Curtin? Another collection of scrounged imports like Kacper Przybylko (who?), Jamiro Monteiro (who??) and Kai Wagner (who???)? Haris Medunjanin as the defensive midfielder in a high press? So, so so so so many variables, and so many chances for something go wrong and ruin everything.

And yet even when things have gone wrong (Marco Fabian mostly being injured; a dry spell in front of goal during a May homestand; Mark McKenzie taking a big step backward after such a promising rookie year), Philly have just kept chugging along atop the East on points, and tied atop the East on PPG. If you combine the eye test, the standings and the underlying numbers, nobody has a better argument for second-best in the whole damn league than Philly.

Plus their social media game's been nearly as awesome as Ilsinho:

What they could’ve done better: Sergio Santos wouldn't be the first guy who took more than half-a-year to settle in. He also wouldn't be the first to never settle in at all. The fact that they went out and got Andrew Wooten before this window even opened suggests Santos' short leash has gotten even shorter.

Portland Timbers: A

Full credit to Portland, who didn't panic when their 12-game road-trip to start the season started circling the drain before the end of March even arrived. They could've panicked and tinkered and tossed it all away – making fixable problems worse in the process – but instead they once again rediscovered who they are (they kill you on the counter) and trusted their veterans to figure out how to collect points.

Then they did two other things that seem to separate this Timbers side from the ones that have come before: 1) Gio Savarese has developed legitimate depth at almost every spot on the field, many of them under the age of 25 (very young by Portland standards), and 2) they added Brian Fernandez, who is electric:

The attacking triumvirate of Fernandez, Diego Valeri and Sebastian Blanco is the league's best outside of downtown LA.

And yeah, Wednesday night's win in LA had to feel good. Portland are probably the favorites to win the Open Cup now even if they have to go on the road. They've been spectacular – 10-3-1, +15 goal differential – since April 20.

What they could’ve done better: A few more points in March wouldn't have hurt, but that's a quibble at this point. Given their schedule (14 more home games left), they're making the playoffs. And they'll probably have at least one game at Providence Park while they're at it.

Real Salt Lake: C-

RSL have steadily added talent, both young and old, from Europe and from South America and from within. They have purchased high-upside youngsters and rehabbed forgotten talents off the scrap-heap. They've, at times, embraced an identity as a fun-and-gun, high-flying attacking side, and at other times they've packed it in and parked the damn bus.

And yet, as of this writing they're eighth in the West in both points and PPG despite year-over-year roster cohesion and a much-needed dose of boxscore stats from their No. 9, courtesy of new arrival Sam Johnson. It's been half a decade since RSL finished higher than sixth in the West.

I couldn't tell you a single thing they're obviously bad at. I couldn't tell you a single thing they're obviously good at.

¯\_(ツ)_/¯

What they could’ve done better: I mean, it feels like everything could – or even should – be five or 10 percent better than it is. When I watch RSL play the words "individualistic" and "malaise" are the ones that come to mind.

San Jose Earthquakes: A-

Here is the working theory I've always had about MLS:

Ten percent of the players are just never going to make it, no matter what. Five percent of the players are good enough to succeed anywhere. And the other 85 percent need the right coach, with the right teammates in the right situation.

I'm taking what Matias Almeyda has done as proof of this theory. LOOK UPON THIS FOR IT IS BEAUTIFUL:

The Quakes are must-watch IMO pic.twitter.com/EgUIJ3QI0L — Matthew Doyle (@MattDoyle76) June 27, 2019

Almeyda took the sad-sack bunch that registered a league-worst 21 points last year, made minimal roster moves, and has San Jose playing some of the prettiest and most effective ball in the league. At this point I'd be surprised if they don't make the playoffs.

I can't name a single player from 2018 who's not playing better in 2019. It's remarkable, and it's a testament to the power of coaching. Invest in the right one, and it can be like getting 25 new players. The 85 percent can become the five percent.

Even the most optimistic Quakes fans I know didn't see anything like this coming.

What they could’ve done better: What would this team look like right now if they had a Blessing or Monteiro or Pomykal-style destroyer/playmaker? Oh my God is that what Almeyda is going to turn Gil Fuentes into? Because I'd kill for Gil Fuentes to become that guy!

Seattle Sounders: B-

Surviving the departure of the greatest defensive midfielder in league history? That's tough. Surviving the departure of the greatest defensive midfielder in league history and retirement of the greatest center back in league history? Holy hell, that's gonna be a climb. Surviving the departure of the greatest defensive midfielder in league history, the retirement of the greatest center back in league history, and a bunch of injuries to key players, and prolonged international call-ups to five starters...

Seattle haven't been good lately, but they've survived and are sitting much prettier than they usually are at this point in the season. And we know what the Sounders do from late July onwards.

That DP slot is still there to be cracked open if they want it, by the way. I bet they make a splash.

What they could’ve done better: From mid-April to early June they won just two of 10 in regular season play, so obviously some individual results could've been better, and certainly their team-wide performance stagnated after Chad Marshall hung 'em up.

But I'd wager that if you'd offered this half-season to the Seattle front office, they'd have been OK with it.

Sporting KC: F (But kind of an A+)

I actually have a lot of sympathy for Peter Vermes here, because I truly believe this: That core of Matt Besler, Graham Zusi, Roger Espinoza, Seth Sinovic and Tim Melia deserved one more shot at "it," with "it" being literally any trophy, but most especially the Concacaf Champions League title. These guys, together, rebuilt a club and created the only era – and what a great era it's been – most Sporting fans have ever known.

To try to win the damn thing with these guys was the right call from a purely moral perspective. To try to do it the way they did it in Toluca, via the most gorgeous build-from-the-back possession that any MLS team has ever produced, eliciting Olés from the appreciative crowd (always one of the best and most loyal in Liga MX)... for 180 minutes, it seemed like this beautiful dream was going to come true.

It's been a nightmare ever since. Collectively, over the course of about two weeks this winter, the core guys all seemed to get old at the same time. Andreu Fontas can't defend, Ilie Sanchez can't cover enough ground, and Krisztian Nemeth can't put the ball in the back of the net with any sort of consistency (told ya so).

From purely a sporting perspective, Vermes held on a year too long. The rebuild is coming.

What they could’ve done better: Paying Fontas instead of giving Ike Opara a raise seems a very, very bad call right about now.

Toronto FC: C-

It's not good enough from TFC, and it hasn't been since 2017. The defense is still leaky as all hell, none of the youngsters have really made the leap, and the offseason signings have underwhelmed (to put a mildly).

Here's the good news: They're still above the playoff line, they've upgraded at 'keeper and they signed an actual warlock in March when they shelled out millions for Alejandro Pozuelo:

Worth every penny.

Now they're getting the angry version of Jozy Altidore back from the Gold Cup, adding at least one TAM winger, have at least one center back reinforcement that should work, and have their fate in their own hands. This is not bad for TFC.

What they could’ve done better: Again: Their winter signings, uh, have not helped the cause. Toronto's lower-level acquisitions have been much more miss than hit over the past couple of years, and Ali Curtis needs to do work during his first full transfer window.

Vancouver Whitecaps FC: D

It looked bad after the first five (0-4-1). Then it got better, and looked pretty good after the next six (3-1-2). And since then... 1-3-5 in MLS play, 11th in the West and the lowest-scoring team outside of Ohio. It's been ugly, and based upon the eye test, the underlying stats and the boxscore stats, it's probably going to stay ugly through the rest of the season.

I've been sitting here for an hour trying to think about what else to say, so I'll just stick with this: I still think Marc Dos Santos is a good coach, Maxime Crepeau has looked the part of a No. 1 goalkeeper, and a healthy Doneil Henry is an asset for any MLS team.

I also still think the Whitecaps have got a lot of building to do in this transfer window, and probably the next two as well.

What they could’ve done better: Their offseason left the cupboard bare, and none of the new attacking signees have carried their weight. Lass Bangoura, Lucas Venuto, Fredy Montero and Joaquin Ardaiz have combined for just six non-penalty goals in 3300 combined minutes, while hyped-up midfield signing Hwang Inbeom is clearly much more of a zone-mover than chance creator.

They are still incomplete.