NASCAR has reached the halfway point of its regular season in a year when some things have changed since 2015 and some have stayed the same.

If fans can put the 400 laps of Charlotte Motor Speedway last Sunday out of their minds, the racing has gotten much better. Thank goodness.

The winners, though, come from most of the same bunch on top of the sport at the end of last year: Toyotas and Kevin Harvick.

Here’s a look at some of the good, the bad and the ugly of the first half of 2016:

The Very Good

Toyota has won eight of the first 13 races of 2016, displaying the strength it showed during a portion of 2015 in which it won 10 races in a 13-race span prior to the final seven races of the season, when it went six straight without a victory before Kyle Busch captured the win and the crown at Homestead.

Busch has three of those 2016 wins. Carl Edwards has added two more. Denny Hamlin, Matt Kenseth and Martin Truex Jr. have one apiece. Those five Joe Gibbs Racing drivers — oops, we mean four JGR drivers and one JGR affiliate driver (Truex) — have led 62 percent of all laps this year.

Yeah, they’ve been that good.

The only driver who really has consistently given them something to worry about: Kevin Harvick, the 2014 Sprint Cup champion who won three races and finished second an incredible 13 times in 2015. He has one win, three runner-up finishes and six top-5s this year. And he has led 688 laps (16 percent of all laps).

Those drivers have played roles in phenomenal finishes. Hamlin edged Truex by inches to win the season-opening Daytona 500. Harvick nipped Edwards as they slammed doors to the finish line at Phoenix. Edwards performed a classic bump-and-run on Busch to win Richmond.

Fantastic finishes can make up for lackluster racing days, and while leaders in clean air have, at times, had a distinct advantage, those times have appeared much less than in 2015.

The Good

Three drivers who currently would make the Chase for the Sprint Cup wouldn’t have started the year on many fans’ preseason lists.

Yeah, they might have thought Chase Elliott would run well. But eighth in points with four top-5s? Granted, he drives for a team that ran strong last season, but the rookie has stepped in for Jeff Gordon and has not disappointed.

With the Wood Brothers Racing team going full time and entering their second year of an alliance with Team Penske, Ryan Blaney had reason to enter 2016 optimistic for his first full Cup season. At 15th in points, his most impressive stat is five top-10 finishes in 13 races. Three of those have come in the past four events. This guy gets better by the week.

The other mild surprise: Austin Dillon. He has bounced around in the top 10 in points for much of the year and currently sits 12th. Many fans a few years ago would have predicted a top-10 flirtation for his third season, but after two mediocre years in which he failed to make the Chase for the Sprint Cup, Dillon has shown significant improvement. He has six top-10s in the first 13 races.

The Bad

Three veterans have not had good seasons. Their struggles don’t rank as total surprises, but the lack of performance has to frustrate themselves, their crews and their fans.

Kasey Kahne, in his fifth year at Hendrick Motorsports, sits 20th in the standings. Even if adding in the team’s 15-point penalty for a piece that broke during a race and caused them to fail measurements, he’d only be 18th. That’s not good enough at Hendrick. He should finish in the top 10 in half the races, not four of 13.

In a transitional year between the folding of Michael Waltrip Racing and his new ride that awaits him at Stewart-Haas Racing in 2017, Clint Bowyer sits mired at 25th in the standings. His two top-10s don’t exactly impress, but the fact he has finished outside the top 20 eight times shows just how much he has struggled. Granted, the HScott Motorsports team remains in its infancy looking to gain its footing, but a driver such as Bowyer should run more consistently in the top 20.

The driver he will replace, Tony Stewart, missed the first eight races because of injury. In the four races he has competed in since (not counting Talladega, where he started but Ty Dillon relieved him), he has one top-10 finish, races of 19th and 24th and then an event in which a broken suspension piece ended his day.

Stewart has struggled the past few years and it doesn’t appear this year will turn into anything great, which is a shame since he already has announced that he won’t race in Sprint Cup past 2016. He has averaged 19 points a race, which would put him 23rd on the circuit.

The Ugly

Stewart also has a spot in the ugly part of 2016 — the entire lug nut debate. NASCAR had stopped trying to officiate whether lug nuts were tight prior to the 2015 season. Stewart, out with a broken back at the start of the year, watched races from the spotter stand and noticed drivers having to come back to pit road with loose wheels.

Drivers felt the vibrations of a loose wheel because teams installed only four lug nuts — and at times, only two or three were tight. Crew chiefs and drivers moaned a little bit about the dangers of leaving pit road with a loose wheel — although no crashes occurred as drivers pitted with those loose wheels before having any problems at speed.

Stewart, though, when asked about the situation, couldn’t hold back his frustration, saying that NASCAR drivers faced a major safety issue because he thought a driver at some point would risk staying out with a loose wheel in order to try to hold on to position and win a race or remain in Chase contention.

His comments made national news, and NASCAR had to react — possibly for sake of publicity, but likely for its insurance sake and for safety sake. In doing so, NASCAR created a harsh penalty: A car without five tight lug nuts after a race would result in a one-race suspension for the crew chief and the tire changer.

The lack of information to the teams of what was required was evident when Kyle Busch rolled into Victory Lane with four lug nuts tight on the wheel and a fifth glued and taped to the stud. The team figured that was safe and secure, but NASCAR ruled it wasn’t, suspending Busch’s crew chief for a week, even though Busch had raced more than 50 laps on the tire without the wheel being loose at all.

More suspensions came this week. And NASCAR can’t even officiate the tightness of lug nuts during a race because it doesn’t have enough officials anymore to put one at each box (and having 40 officials standing on pit road created another safety issue).

It was a typical case of overreaction by NASCAR. Oh wait, there’s more. NASCAR fined Stewart $35,000 for denigrating the sport, although NASCAR never said publicly the exact comment/words he said that resulted in the fine.

That made NASCAR look petty and foolish. Fine a driver for making comments and then reacting to those comments by creating a rule?

Yeah, that’s ugly.