On Saturday, the San Francisco 49ers took down the Denver Broncos 31-24 as they moved their preseason record to 1-1. As they prepare for their matchup Friday against the Green Bay Packers back at Levi’s Stadium, there are five major takeaways from the encounter in Denver.

Vance McDonald fixed his drops (?)

Vance McDonald has been much ballyhooed as a breakthrough candidate in 2016 with Chip Kelly’s tight end friendly schemes. The former second-round pick has always been an exceptional blocker at the NFL level, but his hands were barely starter quality. McDonald has always had drops issues until the last two games. Against the Texans last week, he caught a difficult pass over the middle and turned a wide open reception into a touchdown. McDonald caught two more tough passes en route to three catches for 38 yards. One bounced off his fingertips, but he never really had a chance. It’s a small sample size, but fixing his drops will go a long way to reversing his bust status.

The quarterback situation got murkier

Blaine Gabbert finished the day 6/9 for 69 yards, a large chunk of which came on one pass. Much like last week, Gabbert spent his time mostly dinking and dunking and checking down to the tight ends. He did nothing to stand out this weekend. Colin Kaepernick, who sat out last week with shoulder fatigue, again was in street clothes. He may be inching closer to a starting job without even playing.

Kaepernick is set to play Friday against Green Bay, and that may be his opportunity to nab the job from Gabbert. Rookie Jeff Driskel was decent enough, but he is still incredibly raw and should stay far away from starting. Newcomer Christian Ponder was brought in earlier this week when Thad Lewis’ ACL tear cost him the season, and he impressed against third-stringers Saturday. He took a read option run to the house for a 22-yard rushing score and went 8/9 for 86 yards and an under pressure touchdown was thrown to a wide open Dres Anderson. Ponder’s performance greatly mucks up the QB situation, since it’s not entirely clear he isn’t a worse option than Gabbert.

It’s likely Friday each of Gabbert, Ponder and Kaepernick get two runs with the first team. If Ponder repeats his performance, there may be some difficult choices to make in San Francisco.

The pass rush (and Marcus Rush)

The 49ers pass rush got home on Broncos quarterbacks six times on Saturday, including three from practice squad player Marcus Rush. Rush showed relentless motor en route to his three tackles, and almost had a fourth if it wasn’t for Paxton Lynch being built like a human monster. Eli Harold went down early with an injury, and Aaron Lynch didn’t play.

DeForest Buckner and Arik Armstead were precautionary scratches, so the 49ers down-roster pass rushers got their opportunity to shine. Marcus Rush, and also Ronald Blair & Garrison Smith all turned down impressive, disruptive performances. The 49ers will need them when the season rolls around. Blair will likely make the roster, Rush will be on the bubble, but Smith is likely to spend another year on the practice squad.

The running game continues to impress

Chip Kelly’s calling card is his prolific and varied running game, and so far, this preseason, he has highlighted that to great success. Saturday was no exception, as the team ran for 5.1 yards per carry and two scores. The 184 yards gives the 49ers 420 on the preseason, and their 210 per game is tops in the NFL. On Saturday, only Kendall Gaskins struggled. He eked out seven yards on four carries; no other 49er with a carry had less than 4.5.

The only issue for the 49ers run game was the same as last week: ball control. After losing two fumbles that directly led to a 14-point swing last week (a scoop and score and the ball popping out on the goal line), the 49ers running backs had three fumbles and lost all three. Needless to say, ball security will be a focus this practice in Santa Clara.

Offensive line is not a dumpster fire

Perhaps the biggest improvement of any unit from last year is the 49ers’ offensive line. Adding two first round talents (Joshua Garnett and Anthony Davis) certainly can’t hurt, but this line is exceeding expectations.

They’re opening huge running lanes for the running backs and kept the quarterbacks clean yesterday. The Broncos managed only one sack as a squad, and this is after allowing only one sack last week.

The 49ers’ offensive line has been incredibly leaky in pass protection for two full years, and this is a massive step in the right direction. With Colin Kaepernick’s woes likely tied to an inability to work in a messy pocket, it could mean the return of Kaepernick this season, as well.

San Francisco has a lot of room to grow and improve, and they likely aren’t going to sniff a playoff berth this season. Still, there is some encouragement for the Red and Gold. They look to build on their good team win Friday in San Francisco in the week three dress rehearsal against Green Bay.