1st & Goal: 2026 Week 9 Preview
By
Geoff Kimmerly
MHSAA.com senior editor
October 22, 2026
By Saturday night, the 2026 football regular season will be over and every league championship race decided. By Sunday evening, the playoff season will be set to begin, with several more championship opportunities ahead.
And a lot can still happen to influence how the first ends up and the second gets started.
Most of the games listed below will affect league title races, playoff qualification and positioning, or both. Make sure to keep an eye this weekend on the Playoff Point Summary page as teams move in (or out) of potential MHSAA Playoff fields, and stream the NFHS Network at 5 p.m. Sunday to find out what’s next for all 288 teams that qualify to continue their seasons next week.
Games highlighted are tonight unless noted. Tune in to the NFHS Network to watch the majority and follow the MHSAA Scores page for results as they’re submitted.
Bay & Thumb
Chelsea (8-0) at Linden (6-2)
Both of these teams will play in the Division 3 bracket starting next week, with Chelsea entering this matchup No. 3 on the playoff points list and Linden No. 13. The Bulldogs haven’t had a single-digit game since their Week 1 nine-point win over Harper Woods, while Linden’s losses have come by a mere eight and seven points, respectively. Chelsea won last year’s meeting 35-28.
Keep an eye on these FRIDAY Unionville-Sebewaing (6-2) at Saginaw Valley Lutheran (6-2), Algonac (6-2) at Flint Powers Catholic (6-2), Armada (5-3) at Frankenmuth (7-1), Goodrich (8-0) at Gladwin (5-3).
Greater Detroit
Jackson Lumen Christi (7-1) vs. Dearborn Divine Child (7-1) at Ford Field – Saturday
Two of this weekend’s Prep Bowl games will have implications for Catholic High School League championship races, with this a winner-take-all in the CHSL AA. It’s also a matchup of reigning Finals champions, Divine Child in Division 4 and Lumen Christi in Division 6. The Falcons are coming off their lone loss, to Warren De La Salle Collegiate, while Lumen set up this opportunity with a one-point Week 8 win over Detroit Country Day.
Keep an eye on these FRIDAY Gibraltar Carlson (8-0) at Allen Park (7-1), Walled Lake Western (7-1) at Milford (7-1), Madison Heights Madison (7-1) at Ecorse (7-1). SATURDAY Detroit Catholic Central (8-0) vs. Bloomfield Hills Brother Rice (6-2) at Ford Field.
Mid-Michigan
Ithaca (8-0) at Beal City (8-0)
Beal City is seeking to finish off a second-straight perfect regular season and defeated Ithaca 39-8 last year to complete the first. The Aggies haven’t played a single-digit regular-season game over the last two years, and no opponent has come closer than 19 points this fall. Ithaca’s closest win this season was last week’s 35-0 shutout of Fowler – the Yellowjackets’ third shutout over the last four weeks.
Keep an eye on these FRIDAY Harper Woods (7-1) at Mason (7-1), Okemos (5-3) at DeWitt (6-2), Temperance Bedford (7-1) at Grand Ledge (8-0), Northville (7-1) at Howell (8-0).
Northern Lower Peninsula
Harbor Springs (7-1) at East Jordan (7-1)
Nearly every season, the Traverse City schools’ Patriot Game owns its week on the schedule in Northern Michigan. But this matchup deserves plenty of attention as well. Harbor Springs has posted three shutouts over the last four weeks and will attempt to claim a share of the Northern Michigan Football Conference championship from East Jordan, which clinched a share last week and has defeated the Rams in five straight meetings.
Keep an eye on these FRIDAY Oscoda (5-3) at Frankfort (5-3), Fowler (6-2) at McBain (6-2), Traverse City West (5-3) at Traverse City Central (4-4), Manton (6-2) at Johannesburg-Lewiston (3-5).
Southeast & Border
Clinton (7-1) at Monroe Jefferson (8-0)
Jefferson is coming off clinching the Huron League championship outright with an 8-6 win last week over Monroe St. Mary Catholic Central, and the Bears have navigated only two single-digit wins as they’ve pursued a first perfect regular season since 1993. Clinton’s chance at 9-0 dissolved with a Week 6 loss to Hudson, but the Redwolves hung on to claim a share of the Lenawee County Athletic Association title and could add another major highlight heading into the postseason.
Keep an eye on these FRIDAY New Boston Huron (6-2) at Adrian (7-1), Tecumseh (5-3) at Adrian Madison (6-2), Monroe St. Mary Catholic Central (7-1) at Hanover-Horton (7-1), Berrien Springs (8-0) at Hudson (7-1).
Southwest Corridor
Portage Central (7-1) at St. Joseph (7-1)
These two didn’t play in the same league this season for the first time since 2008, Central winning the larger-school division of the Southwestern Michigan Athletic Conference and St. Joseph winning the SMAC division made up of the smaller schools. Portage Central’s victories this season have all come by 11 points or more since falling Week 1 to Toledo Central Catholic, while the Bears have been little challenged since suffering their lone defeat in Week 2, by a point, to Lowell.
Keep an eye on these FRIDAY Cassopolis (7-1) at Galesburg-Augusta (7-1), Portage Northern (5-3) at Stevensville Lakeshore (7-1), Paw Paw (7-1) at Vicksburg (7-1), Hastings (6-2) at Battle Creek Harper Creek (6-2).
Upper Peninsula
Marquette (6-2) at Kingsford (8-0)
Both are riding notable winning streaks – Kingsford hasn’t lost at all this fall, and Marquette hasn’t lost again since starting 0-2. Both are league champions, and both still have plenty to gain – Kingsford sits No. 8 on the Division 5 playoff-points list and could make a jump defeating a strong Division 3 opponent, while the Sentinels are No. 18 on the Division 3 list amidst a large pack of teams with similar averages vying for a home playoff game.
Keep an eye on these THURSDAY Negaunee (5-3) at Iron Mountain (6-2). FRIDAY Menominee (7-1) at Bark River-Harris (7-1), L’Anse (4-4) at Calumet (5-3), Manistique (4-4) at Ishpeming Westwood (3-5).
West Michigan
Hudsonville (6-2) at East Kentwood (8-0)
East Kentwood has taken down all challengers by at least 21 points and last week earned a share of the Ottawa-Kent Conference Red championship. But Hudsonville is the two-time reigning league champ and can still earn a share this season despite falling to Caledonia in Week 5. These two also have met in the playoffs the last two seasons, with Hudsonville winning the regular-season meeting by a point last fall but the Falcons claiming the rematch in the Regional Final by 24.
Keep an eye on these FRIDAY Coopersville (8-0) at Grand Rapids Kenowa Hills (7-1), Grand Rapids Catholic Central (7-1) at Grand Rapids South Christian (7-1), Traverse City St. Francis (6-2) at Grand Rapids West Catholic (6-2), Montrose (7-1) at Kent City (6-2).
8-Player
Mio (5-3) at Rogers City (6-2)
The North Star League Big Dipper will be decided by these two with Rogers City seeking its first league championship since 2022 and Mio a second-straight after sharing the Little Dipper title last season. But there’s much more on the line as well. Mio sits tied for No. 16 on the Division 1 playoff-points list and Rogers City is No. 20 and one of two 6-2 teams not currently set to qualify in that division but working to climb.
Keep an eye on these THURSDAY St. Ignace (7-1) at Central Lake (6-2). FRIDAY Portland St. Patrick (8-0) at Dansville (7-1), St. Joseph Our Lady of the Lake Catholic (6-2) at Grand Rapids Sacred Heart (7-1), Dryden (8-0) at Kinde North Huron (7-1).
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.
PHOTO A Boyne City receiver attempts to get his hands on a pass over Charlevoix defenders during the Rayders’ 28-12 Week 2 victory. (Photo by kishba media.)
2021 MHSAA Football Playoff Pairings Announced
By
Geoff Kimmerly
MHSAA.com senior editor
October 24, 2021
Here are the pairings for the 2021 MHSAA Football Playoffs, which begin Oct. 29-30 with District Semifinals in the 11-Player Playoffs and Regional Semifinals in the 8-Player Playoffs.
For 11- and 8-player, teams were divided into divisions before the start of play this fall. The top 32 teams in each division in 11-player and top 16 per division in 8-player, based on playoff-point average, were selected to the field. For 11-player, qualifiers were then divided into four regions with eight teams apiece, and for 8-player qualifiers were divided into four regions with four teams in each.
Pairings for the first three weeks of the tournament are based on regular-season playoff point averages, with the highest-ranked team hosting, regardless of the distance between the two schools. For 11-Player District Semifinal and 8-Player Regional Semifinal play, the top-seeded team in each bracket will host the fourth-seeded team, and the second-seeded team will host the third-seeded team.
District Finals for 11-player and Regional Finals for 8-player will follow during the weekend of Nov. 5-6, and the weekend of Nov. 12-13 will have Regional Finals in the 11-Player Playoffs and Semifinals in the 8-Player Playoffs. The 8-Player Semifinals will pair the winners of Region 1 vs. Region 2 and the winners of Region 3 vs. Region 4, at the sites of the highest-ranked team.
Semifinal games in the 11-Player Playoffs will take place Nov. 19-20, pairing the winners of Region 1 vs. Region 2 and the winners of Region 3 vs. Region 4. The MHSAA will assign 11-Player Semifinals at neutral sites.
All playoff tickets except for Finals will be sold online only via GoFan at https://gofan.co/ to provide for a cashless and contactless purchasing process.
For 11-Player, tickets to District Semifinals and District Finals cost $7.30, tickets to Regional Finals are $9.40, and tickets to Semifinals cost $10.45. For 8-player, tickets for Regional Semifinals are $7.30, tickets for Regional Finals are $9.40, and tickets for Semifinals cost $10.45. Prices for all of those rounds include a convenience fee.
The 8-Player Finals will take place Nov. 20 at Northern Michigan University’s Superior Dome in Marquette, and the 11-Player Finals will be played Nov. 26-27 at Ford Field in Detroit. An all-day ticket for 8-Player Finals costs $10 and includes admission to both games, and an all-day ticket for the 11-Player Finals costs $20 and includes admission to that day’s four games.
Pairings for both the 11 and 8-Player brackets are as follows:
11-Player Pairings
DIVISION 1
REGION 1
DISTRICT 1
Grand Ledge (6-3) 57.222 at Rockford (9-0) 84.222
Traverse City West (6-3) 58.333 at Grandville (6-3) 64.111
DISTRICT 2
Holt (7-2) 68.444 at Grand Blanc (9-0) 81.111
Howell (7-2) 69.333 at Hartland (7-2) 70.778
REGION 2
DISTRICT 1
Lapeer (7-2) 64.556 at Rochester Adams (9-0) 79.389
Oxford (5-4) 66.000 at Clarkston (8-1) 73.000
DISTRICT 2
Novi (5-4) 54.667 at West Bloomfield (8-1) 76.889
Detroit Catholic Central (7-2) 75.333 at Bloomfield Hills (9-0) 76.444
REGION 3
DISTRICT 1
Utica (5-4) 55.000 at Romeo (8-1) 82.333
New Baltimore Anchor Bay (7-2) 65.556 at Macomb Dakota (6-3) 66.333
DISTRICT 2
Fraser (6-3) 53.667 at Sterling Heights Stevenson (7-2) 74.222
Clinton Township Chippewa Valley (6-3) 68.778 at Troy (8-1) 71.667
REGION 4
DISTRICT 1
Canton (6-3) 65.333 at Saline (9-0) 82.333
Ann Arbor Huron (8-1) 74.222 at Belleville (8-1) 77.444
DISTRICT 2
Detroit Cass Tech (6-3) 54.931 at Dearborn Fordson (7-2) 73.556
Dearborn (6-3) 65.444 at Brownstown Woodhaven (8-1) 70.417
DIVISION 2
REGION 1
DISTRICT 1
Saginaw Heritage (4-5) 50.222 at Traverse City Central (8-1) 71.222
Bay City Western (7-2) 56.556 at Midland Dow (6-3) 63.778
DISTRICT 2
Byron Center (7-2) 62.333 at Caledonia (8-1) 76.444
Muskegon Mona Shores (7-2) 62.639 at Grand Rapids Forest Hills Central (8-1) 69.556
REGION 2
DISTRICT 1
Jackson (5-4) 48.889 at Portage Central (7-2) 64.556
Dexter (5-4) 58.000 at Battle Creek Lakeview (6-3) 58.236
DISTRICT 2
Swartz Creek (5-4) 47.556 at South Lyon (9-0) 78.014
East Lansing (6-3) 65.000 at Milford (7-2) 65.444
REGION 3
DISTRICT 1
Waterford Mott (5-4) 54.222 at Berkley (7-2) 66.333
Walled Lake Western (6-3) 58.333 at White Lake Lakeland (6-3) 62.889
DISTRICT 2
Dearborn Heights Crestwood (6-3) 48.778 at Livonia Churchill (7-2) 69.444
Livonia Franklin (4-5) 53.333 at Temperance Bedford (7-2) 67.444
REGION 4
DISTRICT 1
Roseville (5-4) 50.583 at Harrison Township L'Anse Creuse (7-2) 64.333
Port Huron (6-3) 59.778 at Port Huron Northern (7-2) 63.028
DISTRICT 2
Detroit U-D Jesuit (4-5) 49.667 at Warren De La Salle Collegiate (8-0) 80.833
St. Clair Shores Lakeview (5-4) 51.667 at Grosse Pointe South (5-4) 55.944
DIVISION 3
REGION 1
DISTRICT 1
Ionia (5-4) 41.556 at DeWitt (8-1) 76.667
Marquette (7-2) 57.222 at Mount Pleasant (9-0) 70.444
DISTRICT 2
Lowell (4-5) 48.778 at Muskegon (8-1) 69.194
Coopersville (6-3) 49.222 at Cedar Springs (7-2) 58.556
REGION 2
DISTRICT 1
Zeeland East (5-4) 50.014 at Stevensville Lakeshore (6-3) 57.778
St. Joseph (5-4) 51.778 at Zeeland West (6-2) 57.264
DISTRICT 2
Richland Gull Lake (5-4) 42.222 at Battle Creek Harper Creek (6-3) 52.222
Mattawan (4-5) 45.270 at Parma Western (6-3) 48.000
REGION 3
DISTRICT 1
South Lyon East (3-6) 42.556 at Mason (7-2) 56.111
Pinckney (6-3) 52.556 at Haslett (7-2) 54.333
DISTRICT 2
Auburn Hills Avondale (4-5) 46.889 at Bloomfield Hills Brother Rice (6-3) 62.208
Orchard Lake St. Mary's (5-4) 51.417 at Flint Kearsley (6-3) 52.556
REGION 4
DISTRICT 1
Warren Fitzgerald (8-1) 53.222 at Detroit Martin Luther King (8-1) 76.722
River Rouge (6-2) 56.319 at Harper Woods (7-2) 61.597
DISTRICT 2
Trenton (5-4) 54.667 at Gibraltar Carlson (8-1) 72.111
Riverview (9-0) 62.889 at Allen Park (7-2) 64.667
DIVISION 4
REGION 1
DISTRICT 1
Fruitport (4-5) 43.667 at Cadillac (7-2) 57.111
Whitehall (7-2) 46.222 at Sparta (7-2) 49.792
DISTRICT 2
Ada Forest Hills Eastern (5-4) 45.778 at Hudsonville Unity Christian (9-0) 67.444
Spring Lake (6-3) 50.889 at Grand Rapids Christian (6-3) 59.111
REGION 2
DISTRICT 1
Charlotte (6-3) 47.333 at Hastings (8-1) 59.000
Grand Rapids South Christian (6-3) 51.000 at Plainwell (6-3) 51.667
DISTRICT 2
Paw Paw (5-4) 45.556 at Edwardsburg (9-0) 64.889
Three Rivers (5-4) 46.111 at Vicksburg (8-1) 61.667
REGION 3
DISTRICT 1
Ortonville Brandon (6-3) 48.472 at Lake Fenton (8-1) 61.556
Goodrich (7-2) 56.889 at Freeland (8-1) 57.889
DISTRICT 2
North Branch (7-2) 48.000 at St. Clair (7-2) 57.361
Pontiac Notre Dame Prep (7-2) 50.347 at Croswell-Lexington (8-1) 53.444
REGION 4
DISTRICT 1
Detroit Country Day (5-3) 46.889 at Redford Union (8-1) 59.444
Madison Heights Lamphere (7-2) 50.778 at Livonia Clarenceville (8-1) 55.556
DISTRICT 2
Romulus Summit Academy North (7-2) 45.222 at Chelsea (9-0) 70.556
New Boston Huron (5-4) 47.889 at Milan (7-2) 50.889
DIVISION 5
REGION 1
DISTRICT 1
Clare (6-3) 42.444 at Gladwin (9-0) 50.222
Kingsford (6-3) 46.778 at Kingsley (8-1) 48.667
DISTRICT 2
Carrollton (5-4) 35.889 at Frankenmuth (9-0) 62.111
Saginaw Swan Valley (5-4) 42.667 at Essexville Garber (5-4) 44.222
REGION 2
DISTRICT 1
Grant (4-5) 35.944 at Howard City Tri County (8-1) 48.111
Big Rapids (5-4) 39.778 at Muskegon Oakridge (7-2) 47.476
DISTRICT 2
Belding (5-4) 43.389 at Grand Rapids Catholic Central (9-0) 70.333
Comstock Park (9-0) 58.903 at Grand Rapids West Catholic (8-1) 62.667
REGION 3
DISTRICT 1
Parchment (6-3) 35.875 at Berrien Springs (9-0) 51.667
South Haven (6-3) 40.111 at Kalamazoo Hackett Catholic Prep (6-3) 43.458
DISTRICT 2
Hopkins (5-4) 43.569 at Portland (7-2) 58.444
Olivet (7-2) 45.667 at Williamston (6-3) 55.222
REGION 4
DISTRICT 1
Richmond (4-5) 36.333 at Armada (6-3) 46.778
Corunna (5-4) 42.111 at Flint Powers Catholic (3-6) 43.111
DISTRICT 2
St. Clair Shores South Lake (5-4) 37.778 at Marine City (9-0) 62.889
Dundee (5-4) 39.889 at Macomb Lutheran North (6-3) 40.903
DIVISION 6
REGION 1
DISTRICT 1
Gladstone (4-5) 36.778 at Negaunee (7-2) 41.014
Calumet (7-2) 37.667 at Menominee (5-4) 39.583
DISTRICT 2
Maple City Glen Lake (4-5) 31.681 at Standish-Sterling (7-2) 44.111
Boyne City (8-1) 42.097 at Grayling (7-2) 42.375
REGION 2
DISTRICT 1
Manistee (5-4) 36.907 at Reed City (8-1) 55.444
Central Montcalm (5-4) 38.222 at Montague (6-3) 43.143
DISTRICT 2
Durand (6-3) 36.333 at Lansing Catholic (8-1) 59.556
Ovid-Elsie (6-3) 37.333 at Millington (9-0) 46.333
REGION 3
DISTRICT 1
Watervliet (5-4) 34.778 at Constantine (9-0) 51.653
Michigan Center (8-1) 38.444 at Jonesville (9-0) 42.778
DISTRICT 2
Erie Mason (5-4) 31.302 at Ida (7-2) 45.000
Clinton (7-2) 39.347 at Dearborn Heights Robichaud (5-4) 39.444
REGION 4
DISTRICT 1
Clinton Township Clintondale (5-4) 40.403 at Warren Michigan Collegiate (7-2) 49.944
Almont (5-4) 42.444 at Clawson (7-2) 44.000
DISTRICT 2
Detroit Pershing (5-4) 34.778 at Detroit Southeastern (6-3) 44.736
Detroit Edison (6-3) 36.125 at Ecorse (6-3) 39.736
DIVISION 7
REGION 1
DISTRICT 1
East Jordan (7-2) 29.940 at Ishpeming Westwood (8-1) 43.569
Mancelona (5-3) 30.694 at Charlevoix (7-1) 39.264
DISTRICT 2
Harrison (6-3) 32.667 at Traverse City St. Francis (9-0) 56.111
McBain (6-3) 34.042 at Evart (7-2) 36.264
REGION 2
DISTRICT 1
Ithaca (6-3) 38.333 at Pewamo-Westphalia (9-0) 49.444
New Lothrop (6-3) 40.000 at Montrose (7-2) 40.000
DISTRICT 2
Elkton-Pigeon-Bay Port Laker (7-2) 34.889 at Reese (8-1) 38.333
Bad Axe (7-2) 36.556 at Hemlock (5-4) 36.556
REGION 3
DISTRICT 1
Delton Kellogg (5-3) 34.014 at Muskegon Catholic Central (8-1) 48.222
North Muskegon (4-5) 34.032 at Ravenna (6-3) 39.587
DISTRICT 2
Homer (5-4) 31.000 at Lawton (9-0) 44.125
Niles Brandywine (4-5) 32.333 at Union City (5-4) 32.556
REGION 4
DISTRICT 1
Detroit Leadership Academy (5-4) 32.000 at Jackson Lumen Christi (8-1) 59.778
Lutheran Westland (8-1) 37.222 at Monroe St. Mary Catholic Central (8-1) 59.000
DISTRICT 2
Detroit Community (6-3) 35.958 at Detroit Central (9-0) 50.722
Detroit Loyola (4-4) 39.847 at Madison Heights Bishop Foley (8-1) 44.792
DIVISION 8
REGION 1
DISTRICT 1
Bark River-Harris (6-3) 27.014 at Beal City (8-1) 42.000
Frankfort (6-3) 31.778 at Iron Mountain (6-3) 36.792
DISTRICT 2
White Cloud (4-5) 24.486 at Carson City-Crystal (8-1) 39.222
Holton (5-4) 25.931 at Muskegon Heights Academy (5-4) 30.778
REGION 2
DISTRICT 1
Vassar (4-5) 24.778 at Breckenridge (7-2) 34.111
Fowler (6-3) 31.500 at Flint Beecher (4-5) 32.917
DISTRICT 2
Harbor Beach (6-3) 30.597 at Ubly (9-0) 40.708
Cass City (5-4) 31.333 at Marlette (6-3) 32.597
REGION 3
DISTRICT 1
Decatur (4-5) 26.444 at White Pigeon (8-1) 35.667
Saugatuck (5-4) 29.625 at Cassopolis (5-4) 29.681
DISTRICT 2
Reading (6-3) 32.778 at Hudson (9-0) 51.222
Centreville (7-2) 35.569 at Addison (8-1) 42.667
REGION 4
DISTRICT 1
Petersburg Summerfield (6-3) 29.190 at Ottawa Lake Whiteford (8-1) 46.111
Whitmore Lake (6-3) 30.444 at Sand Creek (6-3) 34.667
DISTRICT 2
Mount Clemens (5-4) 26.778 at Clarkston Everest Collegiate (7-2) 36.333
Rochester Hills Lutheran Northwest (5-4) 27.556 at Marine City Cardinal Mooney (7-2) 31.486
8-Player Pairings
DIVISION 1
REGION 1
Rudyard (7-2) 30.861 at Munising (7-2) 33.194
Newberry (7-2) 31.528 at Pickford (7-2) 31.861
REGION 2
Mesick (5-4) 29.079 at Suttons Bay (9-0) 39.250
Rogers City (8-1) 32.722 at Indian River Inland Lakes (9-0) 34.333
REGION 3
Tekonsha (7-2) 29.778 at Martin (9-0) 36.125
Lawrence (7-2) 30.569 at Mendon (7-2) 32.569
REGION 4
Vestaburg (6-3) 29.286 at Adrian Lenawee Christian (9-0) 41.375
Britton Deerfield (8-1) 33.431 at Deckerville (7-1) 33.458
DIVISION 2
REGION 1
Pellston (7-2) 30.444 at Powers North Central (9-0) 36.667
Crystal Falls Forest Park (7-2) 31.111 at Lake Linden-Hubbell (7-2) 31.111
REGION 2
Gaylord St. Mary (5-4) 25.972 at Marion (8-1) 36.079
Mio (6-3) 28.333 at Hillman (6-3) 29.000
REGION 3
Peck (6-3) 28.000 at Au Gres-Sims (9-0) 35.667
Mount Pleasant Sacred Heart (7-2) 32.028 at Kinde North Huron (9-0) 35.333
REGION 4
Climax-Scotts (6-3) 29.833 at Morrice (9-0) 36.875
Colon (8-1) 33.306 at Portland St. Patrick (9-0) 35.029
PHOTO Week 9 opponents Livonia Churchill and Novi both were selected to this season's playoff field. (Photo by Douglas Bargerstock.)