On Tuesday night, the Buffalo Bills completed their last public practice of this year's training camp at St. John Fisher, closing the doors on roughly three weeks of work leading up to their second pre-season game. It seems like camp flew by in the blink of an eye, but that was still time enough for fans to learn plenty about their team heading into the new year. Here's a recap.

Ryan Fitzpatrick has a trio of trusted receivers. While fans have obsessed over the wide receiver depth chart, it's far more important to note that Fitzpatrick has looked in sync and highly comfortable with three receivers: Stevie Johnson, David Nelson and Scott Chandler. That's especially notable for the tight end, who was hit-or-miss in 2011; he now looks like he's on the verge of becoming a major safety valve target for Fitzpatrick.

There seems to be a plan at wide receiver. That plan does not appear to have an answer to the long-standing "who will start opposite Stevie?" question, either. A strong camp from Donald Jones indicates that he'll get the most playing time at receiver, while Derek Hagan - who also had a strong camp - appears ready to contribute as an outside receiver in specific packages, allowing Jones to play in the slot on occasion. In reality, however, both Jones and Hagan are just placeholders for rookie T.J. Graham, who flashed big-play ability in camp and is clearly the down-the-line starter the Bills believed he'd be when they made him a third-round pick in April.

Faith in Marcus Easley seems to have been misplaced. Throughout spring and summer, a huge contingent of fans insisted that Easley, the 2010 fourth-round pick with seven pre-season catches and two years on IR, would exit the pre-season with a starter's role in hand. Not only has that not happened, but Easley may not even make the team, as journeyman vets like Hagan and Ruvell Martin have made better cases for themselves throughout camp while Graham has usurped Easley's standing as the project receiver du jour. We're not ruling out Easley completely just yet, but he's got work to do, and time is running short.

Chris Hairston has had bad luck. Promised the opportunity to compete with rookie Cordy Glenn for the starting left tackle job, Hairston has spent far more time on the right side filling in for the recuperating Erik Pears than he has on the left side. That started in off-season OTAs and mini-camp, and has extended into the pre-season. Only recently has Pears gotten healthy enough to practice consistently, and while the Bills have kept their word and begun splitting reps again, Glenn has taken so many first-team reps at this point in the off-season that very few actually expect Hairston to start.

Kraig Urbik will be the backup center. This is more of a confirmation than learning something new, but Urbik - and not veteran Colin Brown or rookie Mark Asper - has been the second-team center throughout camp, and started at center in place of the recuperating Eric Wood in the Bills' first pre-season game. It's great news that the Bills have a backup plan at center now, given their struggles replacing the injured Wood in 2011. Brown and Asper, meanwhile, are still in the mix for the ninth and final offensive line spot on the likely opening-day roster, where they're joined by guard Keith Williams.

Young defensive linemen have not made their mark. The only exception here has been Marcell Dareus, but that's not at all unexpected from the former No. 3 overall pick; he has looked terrific. We're talking about depth here, specifically at defensive tackle. Torell Troup has been the unluckiest man on the roster, trying to fight through constant back pain to stay on the practice field long enough to impress, but he's looking like a longshot at this point given his unreliable health. Kellen Heard has been banged up here and there, as well, preventing him from capitalizing on a strong close to the 2011 season. Alex Carrington has flashed at defensive tackle, and Kyle Moore has done likewise at end, but neither has done enough to be considered locks for the final roster at this point. It's possible one sticks as a ninth lineman, but right now, of the team's top eight defensive linemen, Dareus (22) is by far the youngest, followed by Mario Williams (27) and Shawne Merriman (28). Three more, meanwhile, are over 30.

Arthur Moats and Scott McKillop have impressed at linebacker. When camp began, much of the discussion surrounding Buffalo's linebackers centered on rookies Nigel Bradham and Tank Carder. Only cursory attention was paid to Moats, and McKillop - a January reserve/future signing coming off of a 2011 season in which he wasn't in the NFL - was overlooked completely. Moats, however, has nudged ahead of Kirk Morrison for a starting strong-side job that's still up in the air, while McKillop has been a mainstay as Kelvin Sheppard's understudy in the middle. Moats is now a virtual lock to make the team, and McKillop is a pretty strong bet, as well.

Things are still shaky at cornerback. Sure, everyone's high on Stephon Gilmore, but things are much less optimistic after the prized rookie. Aaron Williams, the projected starter and 2011 second-round pick, has taken his lumps this summer, routinely beaten by Bills receivers. He shouldn't have a problem holding off Terrence McGee, however, given that McGee's rehab has gone slowly enough that he may have trouble getting onto the field this pre-season. Justin Rogers remains dinged up, Leodis McKelvin has had his share of struggles while moving to the slot, and while Ron Brooks has flashed talent, he's not ready for a major role just yet. Here's hoping that Gilmore is as good as advertised, because he'll need to be.

Safety depth is a concern. This became apparent the moment GM Buddy Nix told reporters that he was concerned with the team's depth at safety. (Honesty!) The Bills then pursued veteran Jim Leonhard, who wound up signing with Denver. It's clear that the team likes its top trio of Jairus Byrd, George Wilson and Da'Norris Searcy quite a bit. It's also clear that unless they can find a viable option elsewhere, they'll only be keeping those three safeties on the active roster.

Two young kickers are as good as advertised. John Potter, the much-discussed seventh-round pick, has shown off an incredibly strong leg that he's had to rein in simply so that the team could practice kickoffs. He has a great shot of sticking with the team as a kickoff specialist, and may offer some upside on field goals. Brian Moorman has laid the veteran smackdown on his challenger, Shawn Powell, and has likely done enough to retain his job - but don't let that cloud the fact that Powell, while inconsistent, has made a slew of very good kicks this summer, as well.