The NFL’s legal tampering period began two days ago, allowing teams and players to reach agreements on contracts, though they couldn’t be signed until the new league year at 4 p.m. ET Thursday. There were a whole bunch of huge moves that will change the fortune of a lot of teams, some of which were good, while others were questionable.
You can follow all of the free-agency frenzy with our tracker, but to close the book on the tampering period, we graded 15 of the biggest moves. These include any substantial deals that were agreed upon during that period, excluding contracts that were signed after the 4 p.m. deadline.

WR Brandon Marshall to the Giants: A
The Giants signed Marshall to a two-year, $12 million deal Wednesday, adding yet another dynamic receiver. Marshall said the Giants offered “probably the least” amount of money, which goes to show how much he prioritizes winning. The Giants got a steal here and added the perfect complement to Odell Beckham Jr.

QB Mike Glennon to the Bears: C+
Glennon probably isn’t going to be an above-average starter next season, or likely ever. However, with the Bears committing just $19 million in guaranteed money for three years, it’s not a terrible deal. He gives them a fallback option if a rookie can’t come in and start away. Glennon still has to win the starting job in training camp, but at the very least he gives a potential rookie some competition. Still, giving Glennon $45 million when it seemed no other teams were in on him is questionable.

WR Pierre Garcon to the 49ers: C+
It’s not that Garcon is a bad player, it’s that the 49ers are reportedly giving him $16 million in his first year, which is a lot for a receiver who will be 31 when the season begins. However, his familiarity with Kyle Shanahan is key as he led the league in receptions in 2013 when Shanahan was in Washington.

CB A.J. Bouye to the Jaguars: A
The Jaguars didn’t have an overwhelming amount of cap space after their spending spree last offseason, but they had enough to nab one of the top young CBs in the NFL. Bouye had a breakout year in 2016, and it earned him $13.5 million a year for five years with the Jags. He and Jalen Ramsey give Jacksonville one of the best young secondaries in football, and it only adds to the playmakers they have up front on defense.

QB Tyrod Taylor to the Bills: B+
The Bills had very few options at quarterback besides Taylor. His expensive option wasn’t the ideal scenario, which is why Buffalo restructured his contract. It was a good move for both sides as Taylor’s deal was likely shortened, allowing him to potentially get another deal sooner. This is a good move by the Bills as they buy more time to see whether Taylor is worth a long-term deal.

LT Matt Kalil to the Panthers: F
This is a terrible signing. Not just because Kalil wasn’t good in limited action but because of the money they paid him. Kalil is making $11.1 million per year with $25 million guaranteed, which is a big contract for a player who’s struggled as much as he has. He’ll be an upgrade over Michael Oher, but that’s not exactly saying a lot. This move should be questioned until Kalil proves he can play.

WR Kenny Stills to the Dolphins: C+
It was reported that Stills’ market was set at $12 million per year, which always seemed high. The Dolphins got him for $8 million a year for four years, which is a solid deal for a player of his caliber. It keeps Ryan Tannehill’s core intact alongside DeVante Parker and Jarvis Landry. He’s a big-play threat in the mold of DeSean Jackson, who’s getting more than $11 million per year. Unfortunately, that’s all he is at this point.

OLB Nick Perry to the Packers: B-
The reason this doesn’t get a better grade is because of the cost Green Bay paid. Perry is a great pass rusher, but he’s only been that for one season, recording 11 sacks in 2016. Now, the Packers are paying him $12 million a year for five years, which is a substantial amount for a player after one productive season. This was a matter of recently signed contracts dictating the market for pass rushers.

CB Stephon Gilmore to the Patriots: B-
The Patriots are reportedly paying Gilmore $13 million per season with $40 million guaranteed. That’s a huge amount of money for a player who hasn’t lived up to the billing as a top-10 pick and wasn’t deemed worthy of keeping by his former team. However, the Patriots had money to spend, and with Logan Ryan likely leaving they needed to add another cornerback. What better way to do that than signing one of the best available.

S Tony Jefferson to the Ravens: A
Eric Weddle looked like his same-old self last season after playing poorly in 2015, and now he has a complementary runningmate in Jefferson. At $9 million, the Ravens are paying Jefferson a lot, but he’s an up-and-coming playmaker who’s always around the ball. With Weddle entrenched at free safety, Jefferson can play closer to the line of scrimmage, which is where he thrives. Jefferson was the best safety available next to Eric Berry.

LT Andrew Whitworth to the Rams: A
The Rams couldn’t roll into 2017 with Greg Robinson at left tackle, and they knew that. As a result, they signed the best option on the market, 35-year-old Whitworth. He may be older, but the Rams know what they’re getting with him: a reliable pass blocker who will keep Jared Goff upright. That’s important for a young quarterback like Goff, who was on his back often last season. The $36 million they’re paying Whitworth for three years is manageable, too.

WR Kenny Britt to the Browns: C+
The Browns should have set their sights on their own free-agent receiver, Terrelle Pryor. They haven’t done that, instead signing Britt to a contract. Britt had his best season in L.A. last year, but he’s not the explosive or dynamic playmaker that Pryor is. And if this signing comes at the cost of losing Pryor, it’s a terrible move for Cleveland. Britt is a good player, but Pryor’s potential is far greater.

QB Brian Hoyer to the 49ers: B
The 49ers need a quarterback, and Hoyer isn’t the answer for their long-term issues. However, he is a good backup option in case they can’t acquire a guy like Kirk Cousins or land one of the top quarterbacks in the draft. Hoyer is relatively cheap, and you know what you’re going to get with him, which is why this is a good move by the 49ers.

G Kevin Zeitler to the Browns: B+
The Browns continued to shore up their offensive line by adding Zeitler in addition to center JC Tretter. Zeitler was the best guard available this offseason, and with the draft class weak at that position, this is a perfect signing for the Browns. The only downside is that he’s now the NFL's highest-paid guard at $12 million per year. Having a strong offensive line is important for their young quarterback-to-be, but setting a new standard for guards is hard to fathom.

DL Calais Campbell to the Jaguars: B
The second big signing of Jacksonville’s offseason was defensive lineman Calais Campbell. He’s a versatile force on the defensive line who can line up at defensive end and tackle, rushing the passer from either spot. With Malik Jackson, Dante Fowler Jr. and Yannick Ngakoue up front, the Jaguars now have a strong defensive line. Campbell was the top available defensive lineman on the board when the Jags nabbed him, but $30 million guaranteed for Campbell is just a bit much.

WR DeSean Jackson to the Bucs: A-
The Buccaneers have Mike Evans atop their wide receiver depth chart, but they’re thin beyond that. They changed that on Thursday agreeing to sign Jackson to a three-year deal worth a reported $32 million. He’s a perfect complement to Evans and will open up the entire offense with his speed and big-play ability. He’s on the wrong side of 30, but he has plenty left in the tank and hasn’t lost a step. This was a huge addition for the Buccaneers.