1st & Goal: 2026 Playoffs Week 2 Review
By
Geoff Kimmerly
MHSAA.com senior editor
November 10, 2026
We’re entering the third week of these 2026 MHSAA Football Playoffs, and at least a handful of teams have reached this stage of the season for the first time since before their current players were born.
This week's "Review" highlights some of those below, along with other notable accomplishments both for teams advancing to this week’s rounds but also those whose seasons have come to a close.
11-Player Division 1
HEADLINER Northville 17, Saline 14 Division 1 provided the biggest stunner of the week for the second straight as the Mustangs (9-2) handed the first and only loss to Saline (10-1). Both were league champions this fall, but Saline had reached the Regional Finals a year ago and hadn’t had a game closer than 14 points this fall. Click for more from the Ann Arbor News.
District Digest East Kentwood 42, Grand Ledge 21 The Falcons (10-1) advanced from this meeting of undefeated teams, ending the Comets’ season for the second straight. Clarkston 27, Grand Blanc 26 Grand Blanc (10-1) led 20-7 at halftime, but Clarkston (10-1) came back to end the previously undefeated Bobcats’ season also for the second consecutive year. Rochester Hills Stoney Creek 21, Rochester Adams 7 The Cougars (9-2) avenged a Week 7 loss to the Highlanders (7-4), ending an eight-game losing streak against their rivals.
11-Player Division 2
HEADLINER Livonia Franklin 17, Gibraltar Carlson 6 Franklin (9-2) clinched its first District title since 2022 by handling Carlson (10-1) its only loss of the season. The Marauders entered the matchup averaging 35 points per game, but the Patriots held their opponent to single digits for the third time over the last four weeks. Click for more from the Detroit News.
District Digest Milford 31, Midland Dow 19 The Mavericks (10-1) claimed their first District championship since 2006, ending a seven-game winning streak by the Chargers (8-3) as they sought to repeat as District winners. Muskegon Mona Shores 49, Caledonia 35 Mona Shores (10-1) has scored 49 points in both of their playoff games to outpace their high-powered opponents including this time the Fighting Scots (8-3). South Lyon 55, South Lyon East 32 The Lions (9-2) finished a season sweep of the rival Cougars (8-3), extending their winning streak in the series to four after winning both matchups last year as well.

11-Player Division 3
HEADLINER Harper Woods 20, Detroit Martin Luther King 6 Harper Woods ran its District title streak to four seasons in a row with this one, its first in Division 3, holding King (7-4) to its lowest-scoring output of the season. The loss also ended the Crusaders’ District championship streak at 11. Click for more from the Detroit Free Press.
District Digest Warren De La Salle Collegiate 27, Port Huron 10 The Pilots (7-4) handed Port Huron (10-1) its only loss to advance to what will be another highly anticipated matchup this week with Harper Woods. Middleville Thornapple Kellogg 41, St. Joseph 13 After last year reaching the District Finals for the first time since 2020, the Trojans took the next step with their first District championship since 2001 and ended St. Joseph’s run at 8-3. Chelsea 51, Redford Thurston 14 The Bulldogs claimed their first District title since their Division 4 championship season of 2021, ending Thurston’s winningest season in 15 years at 9-2.
11-Player Division 4
HEADLINER Portland 35, Edwardsburg 17 The Raiders ran their District championship streak to six with this win in a matchup of undefeated teams. Portland (11-0) outscored the Eddies 21-0 during the second half and for the game held Edwardsburg (10-1) to its fewest points scored this season. Click for more from the South Bend Tribune.
District Digest Macomb Lutheran North 48, Marysville 20 Lutheran North (10-1) clinched its third District championship over the last four years, downing a league co-champion in Marysville (6-5). Hudsonville Unity Christian 49, Ada Forest Hills Eastern 23 Unity Christian repeated as a District champion and ended Forest Hills Eastern’s winning season since 2015 at 9-2. Detroit Country Day 35, St. Clair 13 The Yellowjackets (8-3) returned to the playoffs this season for the first time since 2022 and now have their first District title since that season as well, as they ended St. Clair’s return to the postseason after the Saints (8-3) missed last year’s playoffs.
11-Player Division 5
HEADLINER Negaunee 20, Kingsford 14 Even with four losses this season, Negaunee (7-4) looked like a dangerous opponent for the undefeated Flivvers (10-1) – and indeed proved to be in avenging a 21-16 loss from Week 4. The District title was the Miners’ first since 2022 and the win also ended a three-game losing streak against Kingsford. Click for more from My UP Now.
District Digest Romulus Summit Academy 30, Detroit Denby 28 Summit (8-3) has strung together 10 straight winning seasons and now has its first District championship as well after hanging on against a Denby team (7-4) that hadn’t given up more than 14 points in a game this fall. Saginaw Swan Valley 29, Imlay City 12 Swan Valley has reached 10-1 for the second-straight year and now will face Frankenmuth, which dealt the Vikings their lone loss in Week 8. Imlay City finished 8-3 and has plenty to celebrate after having won a combined 11 games over the previous five seasons. Grand Rapids West Catholic 45, Hopkins 14 West Catholic clinched its fourth District title over the last five seasons by downing another league champion in Hopkins (9-2).
11-Player Division 6
HEADLINER Detroit Edison 26, Clinton 24 Edison held off a Clinton second-half comeback attempt to repeat as a District champion and claim its third title over the last four seasons. The Redwolves (9-2) had reached the Division 7 Semifinals a year ago. The Pioneers (9-1), who haven’t lost since Week 1, earned a rematch with Ecorse and won the first meeting between those two 30-20 in Week 7. Click for more from the Detroit News.
MAKING PLAYS WHEN NEEDED 🔥 Detroit Edison defeated Clinton 26-24 to earn the MHSAA District Title. They move on to play Ecorse this week! Delivered by @hungryhowies https://t.co/uRsV0MhdbB
— STATE CHAMPS! Michigan (@statechampsmich) November 9, 2026
District Digest Marine City 37, Montrose 29 The Mariners (11-0) won another matchup of league champions, ending Montrose’s season at 8-3. Belding 28, Olivet 20 Belding (9-2) clinched its first District title since 2017 with its fifth win (and second in a row) by nine points or fewer. Olivet ended its 18th-straight playoff season at 7-4. Ecorse 26, Warren Michigan Collegiate 6 As noted above, Ecorse (9-1) earned a rematch with Edison after getting past another rival in Michigan Collegiate (5-5) for the second time this season and third in a row going back to last fall.
11-Player Division 7
HEADLINER Ithaca 39, Millington 16 Ithaca’s high-powered offense scored the most points the Cardinals (10-1) gave up this season. Yellowjackets quarterback Gibson Rondy ran for 144 yards and a score and threw for 183 and another touchdown as Ithaca (10-1) won its fourth District title over the last five seasons. Click for more from the Mount Pleasant Morning Sun.
Ithaca (10-1) hands Millington (10-1) their only loss of the season in the Div. 7 District Finals 39-16 @ABC12WJRT https://t.co/udOVQKUaVh
— Justin Dierkes (@DierkesTV) November 7, 2026
District Digest Ottawa Lake Whiteford 38, Monroe St. Mary Catholic Central 34 Whiteford (9-2) avenged a 37-28 Week 1 loss to the Falcons (9-2) to clinch its first District title since 2023. Jonesville 52, Union City 30 The Comets (7-4) continued their hot streak with a fifth-straight win and first District title since 2002 after starting this season 2-4. Union City finished 8-3. Ravenna 42, Constantine 12 Ravenna has found its scoring stride; its first District title since 2016 came with its third straight game of scoring at least 42 points after the Bulldogs did so only once during the regular season. Constantine (9-2) had given up only 19 points combined over its previous six games.
11-Player Division 8
HEADLINER Springport 34, Decatur 22 Springport (10-1) handed Decatur its first and only loss of the season, in doing so repeating as a District champion and setting up a Regional rematch with Hudson, which ended the Spartans’ playoff run a year ago. The Raiders’ 10-1 finish pushed its record over the last three seasons to a combined 28-6. Click for more from WOOD TV.
District Digest Bark River-Harris 38, Maple City Glen Lake 13 The Broncos (9-2) clinched a second-straight District title with a second playoff win over Glen Lake (8-3) in two years after also edging the Lakers in a Regional Final last fall. Clarkston Everest Collegiate 24, Royal Oak Shrine 14 Everest (10-1) finished a season sweep of Shrine after also defeating the Knights (9-2) in a Week 9 Prep Bowl matchup 34-7. Ubly 32, Unionville-Sebewaing 8 Ubly (8-3) made five weeks make a big difference, avenging a 30-16 loss to USA (8-3) from Week 6 that decided the Big Thumb Conference Black championship.
8-Player Division 1
HEADLINER Deckerville 62, Dryden 22 Deckerville reversed its 44-38 Week 5 loss to the Cardinals to clinch a fourth-straight Regional title. The Eagles (10-1) topped 60 points for the first time since Week 2 of last year in ending Dryden’s most successful season since 2008 at 10-1. Click for more from the Huron Daily Tribune.
Regional Roundup Pickford 28, Ishpeming 22 Pickford left for a new league this fall and didn’t see Ishpeming (8-3) during the regular season, but the Panthers (9-2) capitalized on this opportunity and extended their 8-player record over the Hematites to 4-0. Colon 30, Climax-Scotts 20 After returning to the playoffs for the first time since 2022, the Magi (10-1) clinched their first Regional title since 2021 by adding to a 32-8 Week 4 win over Climax-Scotts (8-3). Blanchard Montabella 54, Merrill 36 Montabella (10-1) also won a league rematch, adding this win over Merrill (9-2) to a 60-20 victory in Week 7.
8-Player Division 2
HEADLINER Gaylord St. Mary 32, Lake Linden-Hubbell 14 St. Mary (11-0) returned from the northern Upper Peninsula with arguably its best win of an impressive last four weeks, handing the Lakes (10-1) their only defeat. The Snowbirds most notably slowed down an LL-H attack that hadn’t scored fewer than 42 points in a game, and in doing so claimed their first Regional title since 2002. Click for more from the Petoskey News-Review.
Regional Roundup Portland St. Patrick 47, Grand Rapids Sacred Heart 14 The Shamrocks (11-0) repeated as Regional champions in part by slowing down a Sacred Heart offense that had scored at least 49 points in six straight games. The Falcons finished 9-2. Mendon 60, Marcellus 14 The Hornets (11-0) ground out 427 rushing yards and took advantage of four turnovers to win a third Regional title in five years and end Marcellus’ run at 7-4. Britton Deerfield 36, Bay City All Saints 8 The Patriots clinched their second Regional title in three seasons, winning a matchup of league champions and ending All Saints’ run at 9-2.
MHSAA.com's weekly “1st & Goal” previews and reviews are powered by MI Student Aid, a division within the Department of Lifelong Education, Advancement, and Potential (MiLEAP). MI Student Aid encourages students to pursue postsecondary education by providing access to student financial resources and information. MI Student Aid administers the state’s scholarship and grant programs that help make college Accessible, Affordable and Attainable for you. Click to connect with MI Student Aid and find more information on Facebook and Twitter @mistudentaid.
PHOTOS (Top) A Hudsonville Unity Christian defender wraps a Forest Hills Eastern ball carrier Friday. (Middle) DeWitt’s Krew Koutsoubos (30) brings down Coopersville’s Champ Kelly during a 54-21 Division 3 District Final win. (Unity Christian/Forest Hills Eastern photo by Michigan Sports Media. DeWitt/Coopersville photo by TCP Photography.)
1st & Goal: 2022 11-Player Semifinals Preview
By
Geoff Kimmerly
MHSAA.com senior editor
November 17, 2022
Snow has blanketed the majority of the state over the last few days. But it’s nearly a guarantee that the players on the field for this weekend’s 11-player Semifinals will be the last to notice it’s gotten wetter and colder outside.
They’re focused on getting to Ford Field, and a snowy mid-November game is just part of the unique path traveled by championship contenders in Michigan.
All 16 Semifinals will be viewable on MHSAA.tv with subscription, with Friday’s Belleville/Detroit Cass Tech game in Division 1 to be broadcast live on Bally Sports Detroit’s primary channel. The other 15 Semifinals will be played Saturday; click for the full schedule.
Below is a look at all 16 games that will determine this season’s Finals matchups.
Division 1
Detroit Cass Tech (9-3) vs. Belleville (12-0) at Novi – FRIDAY
Cass Tech has won eight straight games, with its last five victories as impressive a string as anyone has conquered statewide. Senior quarterback Leeshaun Mumphfield (1,712 yards/25 TDs passing) is a proven leader and has standouts like senior running back Sean Hodges (846 yards/12 TDs rushing) and freshman Corey Sadler Jr. (665 yards/8 TDs receiving) to take away some of the playmaking pressure. Belleville’s 23-game winning streak is on the line, and the reigning champion has plenty of big-game experience too with sophomore quarterback Bryce Underwood (2,479 yards/34 TDs passing) and junior running back Jeremiah Beasley (1,088 yards/23 TDs rushing) showing the way.
Clarkston (10-2) vs. Caledonia (11-1) at DeWitt
These teams have combined to run for 7,458 yards this season, perhaps the best fit for what weather conditions might provide this weekend. Caledonia has a pair of 1,000-yard rushers – junior running back Brock Townsend (1,130/16 TDs) and senior quarterback Mason McKenzie (1,441/19), who also has thrown for 1,356 yards and 19 touchdowns. Clarkston’s top five runners all average at least seven yards per carry, but senior running back Ethan Clark is shouldering the load with 2,542 yards – at 10.1 per carry – and 30 touchdowns on the ground. Both teams have avenged a regular-season loss during the playoffs, Caledonia to Rockford and Clarkston to Davison.
Division 2
Grand Rapids Forest Hills Central (12-0) vs. Dexter (12-0) at Portage Northern
Dexter is playing for its first championship game berth, and Forest Hills Central for its first since 1994. A Rangers defense giving up only 7.9 points per game will face its strongest challenge as senior running back Cole Cabana (1,433 yards/26 TDs rushing) and senior quarterback Reeves Taylor (2,248 yards/30 TDs passing) give the Dreadnaughts a variety of options on the offensive side of the ball. Not that FHC doesn’t have the same, especially with senior quarterback Justin Osterhouse’s ability to make plays rushing (654 yards/15 TDs) and throwing (1,070 yards/13 TDs passing). Dexter’s defense has been similarly special too, giving up only 9.3 ppg.
Birmingham Groves (9-3) vs. Warren De La Salle Collegiate (11-1) at Troy Athens
Groves had rebounded off 3-6 and 2-7 seasons and accelerated after a 4-3 start to return to the Semifinals, impressing especially with last week’s 32-25 win over Livonia Franklin. Senior running back Josh Woods went over 1,000 yards rushing for the season in that victory, and Franklin was the first team in six weeks to score more than 12 points on the Falcons. Reigning champion De La Salle has put up more than 4,600 yards in total offense and will challenge Groves beginning with senior quarterback Brady Drogosh, who has thrown for 1,839 yards and 33 touchdowns and run for 1,088 yards and 13 scores. The Pilots have allowed more than 16 points just once, in their lone loss two months ago.
Division 3
DeWitt (9-3) vs. Muskegon (10-2) at Greenville
This will be the fourth time these two have matched up over the last six seasons and third time in Semifinals over the last four years. The Big Reds’ losses this fall were to De La Salle and Zeeland West, the latter avenged last week. Their top playmakers are all juniors – quarterback M’Khi Guy leads in rushing (1,297 yards/18 TDs) and passing (614 yards/10 TDs), while Destin Piggee (318 yards/4 TDs receiving, 713/5 rushing) and Jakob Price (863 yards/14 TDs rushing) provide plenty of options. All three of DeWitt’s losses were by seven or fewer points, and the Panthers have grown up quickly this fall after several leaders graduated from the teams that reached Finals the last two seasons. Senior Bryce Kurncz does a lot of everything, leading the team in rushing (1,395 yards/17 TDs) and receiving (727 yards/11 TDs) while also throwing for four scores, returning punts and starting on defense. A variety of others contribute too, including sophomore Abram Larner who is second on the team in rushing and receiving yardage.
Detroit Martin Luther King (8-3) vs. Mason (12-0) at Westland John Glenn
The reigning Division 3 champion King is seeking to reach the Finals for the fourth time in five seasons, which included 2019 in Division 2. Senior quarterback Dante Moore is the name everyone knows, and rightly so as he’s thrown for 1,787 yards and 24 touchdowns in his fourth season directing the offense. But senior running back Sterling Anderson Jr. is another of many to note, as he’s run for 918 yards and 12 scores and caught 36 passes including four for touchdowns. Mason is certainly less familiar statewide at this point; this will be the Bulldogs’ second Semifinal in two seasons as they seek their first Finals appearance. But they’re starting to gain plenty of attention, especially sophomore quarterback Cason Carswell (2,141 yards/33 TDs passing) and junior running back AJ Martell (1,221 yards/20 TDs rushing).
Division 4
Edwardsburg (11-1) vs. Grand Rapids South Christian (12-0) at Battle Creek Harper Creek
A season that started differently than usual for Edwardsburg with a loss is shaping up the same as the rest lately as the Eddies will play in their third straight and sixth Semifinal over the last seven seasons – and with that opening-night opponent, Grand Rapids West Catholic, still playing as well. Edwardsburg again relies on the run game – it’s thrown 21 passes, but rushed for 4,343 yards led by senior backs Brett Allen and Andrew Colvin, who have combined for 1,957 yards and 27 scores on the ground. South Christian has followed the lead of senior quarterback Jacob DeHaan to its first Semifinal since 2014. He’s run for 949 yards and 14 touchdowns and thrown for 2,308 yards and 28 scores.
Goodrich (11-1) vs. Riverview (12-0) at Rochester
Goodrich is another team that didn’t get down after a season-opening loss, as the Martians won their next 11 games to reach the Semifinals for the first time. They have been balanced almost to the yard with just north of 1,600 rushing and 1,600 passing. Senior running back Jace Simerson has shouldered much of the load running for 1,130 yads and 15 touchdowns, with senior quarterback Gavin Hart balancing that out with 1,612 yards and 19 scores through the air. They’ll go against a Riverview team that’s won two straight games where the Pirates and their opponents have combined for 80 or more points. Jacob Shank (1,603 yards/28 TDs rushing), Anthony Bowman (1,026/11) and Max Lockhart (892/10) lead a ground game averaging 8.8 yards per carry.
Division 5
Gladwin (12-0) vs. Grand Rapids Catholic Central (11-1) at Ithaca
Grand Rapids Catholic Central has won the last two Division 5 championships and the 2019 Division 4 title before that – and while most of the star power has turned over since last year, the new playmakers have provided similar results. Junior running back Kellen Russell-Dixon is averaging nine yards per carry for 1,406 total and 17 touchdowns on the ground, while junior quarterback Connor Wolf has thrown for 2,622 yards and 30 scores. No opponent has gotten closer than 19 points since the Cougars’ 36-34 loss to South Christian in Week 6. Gladwin can turn to a defense that’s given up only 8.4 points per game and 4.1 yards per play. The Flying G’s will also employ several options offensively, with senior Earl Esiline at 1,048 yards and 14 touchdowns rushing, senior running back Logan Kokotovich at 833 and 11, respectively, and senior quarterback Nick Wheeler having thrown 11 touchdown passes and run for 19 scores.
Detroit Country Day (8-3) vs. Frankenmuth (12-0) at Lapeer
After falling in the Regional Final to eventual Division 4 champion Chelsea last season, Country Day will play in its third Semifinal in four seasons and coming off both its highest-scoring game of this fall and lowest-scoring defensive effort last week in a 44-7 win over Flat Rock. Junior fullback Gabe Winowich (833 yards/11 TDs) has run for nearly half the team’s rush yards, and senior Gabe Zeldes is another intriguing playmaker – he’s caught nine touchdowns passes, returning three of his five interceptions for scores and also found the end zone on a kickoff return. They’ll try to get past a Frankenmuth defense giving up just 5.3 points per game – and not more than seven since Week 3. The Eagles have allowed only eight offensive touchdowns this season. They also spread things around on offense, as junior Griffin Barker, senior Sam Barger and senior quarterback Aidan Hoard all have run for at least 10 touchdowns. Hoard also has thrown for 16 scores.
Division 6
Negaunee (12-0) vs. Reed City (11-1) at Gaylord
Negaunee enters its first Semifinal since 2003 following just its second single-digit game this season, and Gladstone last week also was the first opponent in five weeks to score on a Miners defense giving up only 6.3 points per game. A pair of 1,000-yard rushers set the pace offensively – senior Nico Lukkarinen (1,124 yards/18 TDs) and junior Kai Lacar (1,082/16 TDs). Reed City most recently played a Semifinal in 2017 and is seeking its first championship game berth. A high-producing offense churns with three rushers with at least 900 yards led by senior running back Bryson Hughes (1,215 yards/15 TDs rushing.)
Clinton (12-0) vs. Grand Rapids West Catholic (11-1) at Coldwater
Clinton is playing in its second Semifinal in three seasons after last week’s 31-30 win over 2021 runner-up Warren Michigan Collegiate. The Redwolves have capitalized on 29 turnovers by opponents this fall, and also feature a strong running attack with senior back Bradyn Lehman leading with 1,005 yards and 16 TDs rushing plus five receiving scores. West Catholic is headed back to the Semifinals for the first time since 2017 after winning the first three games of these playoffs by an average of 33 points per. Senior running back Timmy Kloska has piled up 1,852 yards and 30 touchdowns on the ground.
Division 7
New Lothrop (10-2) vs. Traverse City St. Francis (12-0) at Clare
This is a rematch of the 2020 Final, won by New Lothrop 42-35. The Gladiators have won their games this fall by an average of 33 points per after suffering their lone 2021 loss in the Semifinals by seven points to eventual champion Pewamo-Westphalia. Senior quarterback Wyatt Nausadis is just one of several talented playmakers; he’s run for 984 yards and 10 touchdowns and thrown for 1,192 and 17. New Lothrop’s losses were by a combined three points to a pair of Division 6 league opponents. Junior quarterback Jack Kulhanek provides similar run-pass options, having thrown for 1,682 yards and 25 touchdowns and run for 1,342 yards and 17 scores.
Napoleon (12-0) vs. Jackson Lumen Christi (9-3) at Chelsea
Both have great stories. Napoleon was 1-8 two years ago, missed the playoffs last season after improving to 6-3, and followed up with this perfect run that has included four wins by eight points or fewer including last week’s over Monroe St. Mary Catholic Central. Lumen Christi is a frequent visitor to the Semifinals but started this fall 0-3 and hasn’t lost since, edging Lawton 7-6 last week to advance. Senior running back Bart Laretz is the key cog for the Pirates’ offense with 1,973 yards and 15 touchdowns rushing. Senior quarterback Joe Lathers (678 yards/15 TDs rushing) and senior running back Derrick Walker (968/15) key another powerful Titans running attack.
Division 8
Ubly (12-0) vs. Iron Mountain (11-1) at Petoskey
This will be Ubly’s fourth Semifinal in four years as the Bearcats seek their first championship, and last year’s five-point Semifinal loss was their only defeat over the last two seasons. They’ve defeated their opponents this season 49-6 on average, stacking up 4,400 rushing yards led by senior Mark Heilig (1,151 yards/26 TDs rushing) and junior Evan Peruski (1,158/20). Iron Mountain last played in a Semifinal in 2018, and got past Evart 34-33 last week in its first close game since a Week 1 five-point loss to Negaunee. Senior quarterback Joe Colavecchi directs a balanced attack and has thrown for 1,590 yards and 20 scores, and junior Luke Wolfe is the leading rusher and also has five interceptions.
Clarkston Everest Collegiate (9-3) vs. Ottawa Lake Whiteford (12-0) at Brownstown Woodhaven
Everest Collegiate is back at a Semifinal for the second time in three seasons after winning eight of its last nine games – and avenging the lone defeat of that string. An offense that’s run for more than 2,100 yards and thrown for more than 1,500 has posted three of its four highest-scoring games over the last month. Whiteford got through its closest matchup of the season last week, 38-26 against White Pigeon, and has won its games by an average score of 50-13. Whiteford boasts two 1,000-yard rushers plus has enjoyed school record-setting performances from senior quarterback Shea Ruddy (19 TD passes) and junior linebacker Jake Iott.
MHSAA.com's weekly “1st & Goal” previews and reviews are powered by MI Student Aid, a part of the Office of Postsecondary Financial Planning located within the Michigan Department of Treasury. MI Student Aid encourages students to pursue postsecondary education by providing access to student financial resources and information. MI Student Aid administers the state’s 529 college savings programs (MET/MESP), as well as scholarship and grant programs that help make college Accessible, Affordable and Attainable for you. Connect with MI Student Aid at www.michigan.gov/mistudentaid and find more information on Facebook and Twitter @mistudentaid.
PHOTO Ottawa Lake Whiteford's Hunter DeBarr gets up the sideline against Petersburg Summerfield. (Photo by Natalie McCormack.)