2019: WhistleStop Marathon

I was on track for a finish time in the neighborhood of 3:20-3:25 in 2019 Whitefish Point Marathon (Paradise, MI) and would have bested my then best time of 3:35:46. But a more rewarding opportunity had presented itself in the second half. I had no regret (I still don’t) accepting it and finishing with a time of 3:49:25. Teetering a few seconds per mile (or about a second for every 400 meters) on the wrong side of my then threshold pace in 2019 Grandma’s Marathon (Duluth, MN) had me on track for a similar finish time through mile 18. Once over the cliff, I had bonked hard and had ridden the struggle bus for the final 8 miles … eventually finishing in a time of 3:46:16. Though I was somewhat disappointed knowing that I had the potential for a faster finish, both were times – a year or so ago – that I’d have gladly kissed anybody’s feet to have earned. And the process of training for and participating in  both these events were a memorable set of experiences on several fronts. 

Looking back

On the Wintery side of things: Though not my first time following a well-written plan, preparing for Whitefish Point Marathon was my first time formally training through our snowy-icy conditions and learning to use cross-country skiing (and indoor biking; and even treadmill running) in lieu of or to complement scheduled runs. It was also the first time where hilly routes substituted for much of speed, tempo and race pace runs.

On the brighter side of things: What started out as another fad diet (or nutritional experiment) had become a lifestyle. I ate 1-2 quality meals home-cooked on most days, reduced sugary things and drastically cut out alcohol. The last item, a liquid form of tasty yet mostly empty sugar calories, was the sacrificial goat. I was getting sufficient rest – sleeping at least 7 good hours on most nights. As a result of consistent running through the said winter months, form (combination of breathing, heart rate, body posture and cadence) had improved significantly  and I had moved away from being a heal striker.

After letting sufficient time (i.e., 48-72 hours) flow and take in its current any temporary and irrational feelings I might have had during or shortly after completing the aforementioned marathons, a numerical analysis (of heart rate and power) had indicated that I likely hadn’t given it all on the course. A brief-ish recovery time, though doubling up as a sign of improved fitness/endurance, was an added bit of evidence to this claim. I thought, deep in my mind, there likely was a struggle: between consciously wanting a finish time in the neighborhood of 3:20-ish and sub-consciously being comfortable and avoiding the pain cave. A combination of the following, I believed, was likely the fuel for the latter.

  1. Treating the PR earned halfway through or the ability to hold threshold pace for over 2 hours as success.
  2. The fear of bodily injury or worse, of success.
  3. Lack of sufficient mental fortitude.

Looking ahead

Compared to a year ago, I was in a much better place – in more ways than one. As of early June 2019, the cumulative mileage (running, skiing and biking) in 2019 calendar year was a mere 10 km shy of 1000 miles. Taking strength and flexibility activities into account, I had invested upwards of 215 hours. My body had shown signs of handling 50+ miles and my mind didn’t mind the week after week of high mileage. So, I had a lot of things going for me and there certainly wasn’t a need to re-invent the entire wheel. An additional goal in this training cycle was to earn the object of my desire – a new PR with some bells and whistles – without going to the well too many times and while remembering that visualization substitutes complements the training process.

Being a process personality for whom the pursuit and the anticipatory taste of the dangling carrot matters as much as, if not more than, the possession (thanks to my mothership, teachers and Gita 2:47), being committed to the training cycle and its goals wasn’t new or difficult. But training myself on other fronts (e.g., combating fears) wasn’t easy and I expected to get better at those along the way with help from dear friends (thanks, Lianna!). A customized training plan was designed by taking into account the relevant elements of previously used training plans and other pieces of literature mostly peer-reviewed in the field of exercise physiology/kinesiology. It was tweaked and fine-tuned with a lot of help from Stephen and Ray to reach and hold the desired needed pace for the entirety of marathon distance.

The plan for Chicago WhistleStop Marathon

If my original plan had stayed intact, I’d have run the Chicago Marathon this weekend as my primary (or goal) Fall race … at the end of a 15-week training cycle. But as usual, life happened and things changed – likely for the better. Thus, the 2019 Chicago Marathon became the last (but supported) 24-mile LSD run to mark the end of week #11 – to refine racing and pacing tactics as well as rehearse travel logistics – towards the 2019 New York City Marathon. However, by the end of week #07 of this revised training cycle, it didn’t make much sense to drive ~18-20 hours for a training run in a big city. To not let the retrospective cost (i.e., a cost that has already been incurred and cannot be recovered; e.g. the registration fee) negatively impact the prospective costs (i.e., future costs that may be avoided if an appropriate action is taken; e.g., hotel accommodation, fuel for the body and the car, investments in expo, etc.), I deferred the Chicago Marathon until 2020. By the end of week #09, Laura and Stephen gave reliable intel that the course through the five boroughs of New York City doesn’t easily lend itself for a PR-like attempt. So, the plan for weeks #10 and #11 was tweaked to accommodate a taper period. With necessary information from Jan, Kim, Ray and Dr. Suits, and following in the keystrokes of John, I signed up for the 2019 WhistleStop Marathon.

Quite a while ago, I had stumbled upon Jared Ward‘s manuscript – Analyzing Split Times For Runners In The 2013 St. George Marathon submitted to The Annals of Applied Statistics (I’m not sure if it was ever published). What appealed to me in this manuscript was the pacing strategy backed objectively by numbers – one in which the splits got incrementally faster with distance. The concept wasn’t entirely new to me and thanks to my friends, I had even enjoyed some success by implementing it in recent times at the half marathon distance. Though I’d like to run in and complete the St. George Marathon, owing to its altitude and my lack of acclimatization to/training at such altitude, it won’t be now or in the very immediate future.

It took very little effort to realize that Ashland, WI, was about 1700 miles closer than St. George, UT. With a little bit of research and help from friends, I found that both St. George (start: ~5240 ft; finish: ~2680 ft; ~51% drop) and WhistleStop (start: ~1170 ft; finish: ~670 ft; ~57% drop) marathons have similarly shaped elevation profiles. Furthermore, WhistleStop course runs on an old railroad grade (hence the logo of an old fashioned steam engine!) in the shadows of Lake Superior at an altitude (~600 feet above sea level) I am used to. If I haven’t disclosed it before, I LOVE me some trains … so much so that the last couple pages of just about every notebook between grades 3-10 contained hand-sketches of trains or train tracks. Coupled with an abundance of breathable oxygen, it lends itself to my live low, train low, race low practice. Plus, the weather in Northern Wisconsin is blessedly cool (40-50 F) and the autumn makes the scenery colorfully pretty!

All this gave me confidence that I should be able to execute an incrementally faster pacing strategy for the marathon distance. The finer numerical details of the pacing strategy were guided by my performance in the 2019 Bridges & Bluffs Half Marathon two weekends ago in Ironwood, MI, and in consultation with/guidance from Stephen and Ray. Barring an unforeseen circumstance or acts of ill-advised stupidity from my end, I believed I could significantly improve my time and bring it to the 3:20 neighborhood (current PR: 3:35:46, earned in the 2019 Illinois Marathon).

Training cycle & eye candies

Notation: Easy (E) | Long (L) | Race (R) | Speed (S) | Tempo (T)
Distance in miles and time in h:mm:ss
Wk Mon
Tue
Wed
Thu
Fri
Sat
Sun
Week Cycle
01 07/29
E 6.00
10.25
1:29:32
07/30
S 2.00
6.52
1:29:50
07/31
E 6.00
10.38
2:24:31
08/01
T 3.00
6.30
1:26:53
08/02
E 6.00
10.04
2:56:27
08/03
L 12.00
13.16
2:05:27
08/04
Rest
-
-
35.00
56.65
11:52:40
35.00
56.65
11:52:40
02 08/05
E 6.00
11.35
1:45:11
08/06
S 2.00
6.40
1:27:59
08/07
E 6.00
10.34
1:37:54
08/08
T 4.00
8.03
1:09:28
08/09
E 6.00
3.15
1:59:55
08/10
L 13.00
13.11
1:38:06
08/11
Rest
7.16
1:11:56
37.00
59.54
10:50:29
72.00
116.19
22:43:09
 

W02D06 (08/10) was the 2019 Paavo Nurmi Half Marathon in Hurley, WI.

03 08/12
E 6.00
11.46
1:53:28
08/13
S 3.00
7.41
1:33:49
08/14
E 6.00
10.14
2:06:07
08/15
T 5.00
9.10
1:48:23
08/16
E 6.00
10.03
2:37:23
08/17
L 15.00
15.62
2:12:21
08/18
Rest
-
-
41.00
63.76
12:11:31
113.00
179.95
34:54:40
04 08/19
E 6.00
7.59
1:27:33
08/20
S 2.00
5.04
0:45:14
08/21
E 6.00
6.89
1:23:19
08/22
T 4.00
5.24
1:00:44
08/23
E 6.00
10.10
2:59:59
08/24
L 11.00
13.64
2:39:38
08/25
Rest
7.19
1:16:14
35.00
55.69
11:32:41
148.00
235.64
46:27:21
Wk Mon
Tue
Wed
Thu
Fri
Sat
Sun
Week Cycle
05 08/26
E 6.00
-
-
08/27
S 3.00
6.31
1:02:11
08/28
E 6.00
10.57
2:16:46
08/29
T 5.00
13.32
3:13:49
08/30
E 6.00
3.37
0:31:56
08/31
L 17.00
18.12
2:22:22
09/01
Rest
12.64
1:56:59
43.00
64.33
11:24:03
191.00
299.97
57:51:24
 

W05D06 (08/31) was the 2019 Marquette Half Marathon in Marquette, MI.

06 09/02
E 6.00
5.47
1:03:48
09/03
S 4.00
-
0:30:00
09/04
E 6.00
-
1:30:00
09/05
T 6.00
-
-
09/06
E 6.00
2.58
0:22:51
09/07
L 18.00
9.37
1:11:04
09/08
Rest
-
-
46.00
17.42
4:37:43
237.00
317.39
62:29:07
 

W06D06 (09/07) was the 2019 Last Chance BQ.2 Marathon in Grand Rapids, MI (DNF).

07 09/09
E 6.00
12.66
1:49:07
09/10
S 3.00
6.46
0:58:04
09/11
E 6.00
8.42
3:31:39
09/12
T 6.00
-
-
09/13
E 6.00
-
-
09/14
L 20.00
16.60
2:08:06
09/15
Rest
5.01
0:52:55
47.00
49.15
9:19:51
284.00
366.54
71:48:58
 

W07D06 (09/14) was the 2019 Last Chance BQ.2 Marathon in Geneva, IL (DNF).

08 09/16
E 6.00
-
1:30:00
09/17
S 4.00
6.64
1:14:56
09/18
E 6.00
8.40
1:16:49
09/19
T 5.00
-
-
09/20
E 6.00
-
-
09/21
L 13.00
20.21
2:55:00
09/22
Rest
6.27
1:08:32
40.00
41.52
8:05:17
324.00
408.06
79:54:15
Wk Mon
Tue
Wed
Thu
Fri
Sat
Sun
Week Cycle
09 09/23
E 6.00
6.26
1:05:59
09/24
S 4.00
7.05
0:59:21
09/25
E 6.00
10.03
2:01:25
09/26
T 7.00
7.14
3:12:10
09/27
E 6.00
-
-
09/28
L 20.00
16.11
2:03:06
09/29
Rest
5.45
0:55:45
49.00
52.04
10:17:46
373.00
460.10
90:12:01
 

W09D06 (09/28) was the 2019 Bridges & Bluffs Half Marathon in Ironwood, MI.

10 09/30
E 4.00
-
-
10/01
S 2.00
-
-
10/02
E 4.00
5.52
0:48:37
10/03
T 4.00
-
-
10/04
E 4.00
6.28
2:00:42
10/05
L 10.00
10.01
1:56:07
10/06
Rest
12.03
1:44:39
28.00
33.84
6:30:05
401.00
493.94
96:42:06
11 10/07
E 3.00
3.21
0:33:33
10/08
S 2.00
-
-
10/09
E 3.00
7.02
1:33:41
10/10
Rest
-
2:00:00
10/11
E 3.00
3.12
0:30:45
10/12
R 26.22
26.31
3:29:27
10/13
Rest
-
-
37.22
39.66
8:07:26
438.22
533.60
104:49:32
 

W11D06 (10/12) was the 2019 WhistleStop Marathon in Ashland, WI.

The day before

Work (all aspects of it: teaching, research, HPC, administrative and synergistic activities) have been going well and this week was no exception. From a training perspective, things have been going well too, last two weeks serving as a taper period with sufficient rest. As I have done in case of organized events during this training cycle, an easy 3 miler was completed on Friday morning about 24 hours before the schedule race start time (8:30 am, Wisconsin Time) as a shakeout run.

An uneventful and short-ish drive on Friday afternoon brought John and I to the base camp in Ironwood, MI, on our side of the cheese curtain. We missed the turn towards Mass City along the way but instead of letting it bother us or turning around, John suggested we take the scenic drive through the Porcupine Mountains Wilderness State Park. It was certainly worthwhile as sunshine broke through the clouds just long enough to make a couple pit stops and check out the autumn’s splendor. We got a bite to eat (I got a salad) in Maplewood Steakhouse before checking in at the Quality Inn. Carrying a burrito from our own Rodeo Mexican Kitchen for dinner fixed the value of one variable. Needing to build on the full night’s rest from the night before, I ended the day’s proceedings around 8 pm, eventually falling asleep around 8:45 pm.

Race day

I don’t normally open the YouTube app at witching hours before a race day. But then again it’s not every day that I get to witness and be a part of, albeit on YouTube and from several timezones away, an attempt to break an improbable, if not impossible, barrier. Truth be told, I had set an alarm for 1:59 am (Eastern Time; with a 15 minute snooze buffer in case I didn’t wake up at first) to watch the live coverage of INEOS 1:59 Challenge on YouTube starting at 2:15 am (Eastern Time). Being pretty confident that Eliud would pull it off, I turned off the alarm before going to bed.

When I woke up around 1:45 am (Central Time) to use the bathroom, I was naturally curious as to how he was doing. As expected, he was doing just fine. I stayed up until he crossed the halfway point and with him running 10 seconds under the goal time, I fell asleep feeling confident that I would wake up to some wonderful news. I woke up a bit later but just not to the wonderful news but to a dream that he had broken the barrier. In a hurry, I opened the YouTube app again and was pretty thrilled to see the final kilometer or so of this epic adventure. With a little more than 500 meters to go, seeing Eliud emerge from the throng of the pacers and accelerate towards the finish line and cross it in a spec over 1:59:40 was a goose-bumpy and tear-jerker of an experience! As one of the commentators put it,

It’s a Saturday run like we’ve never seen before … Eliud Kipchoge has the hand of history on his shoulders … Eliud Kipchoge storms into the history books in Vienna … One final lung-busting stride for Kipchoge, one giant leap for human endeavor!

By the time I got done watching post-challenge interviews and opinions, it was close to 4:15 am. With first of the alarms to go off around 4:30 am, it didn’t make much sense to return to sleep. In hindsight, going to bed before 9 pm and waking up 15 minutes earlier than scheduled not only gave me sufficient rest but few extra minutes to get ready at a relaxed pace. After the usual preparation, John and I checked out of Quality Inn at 5:30 am. A 45-minute drive, some in snow and the rest in gusting winds, got us safely to Ashland, WI, around 6:30 am.

Picking up the race packet and verifying its contents were a breeze. Per guidelines from the race officials, I took first of the shuttles and it turned out to be a blessing. Not only I got to travel with Jim Engel, I got a comfortable seat in a bar that doubled up as a warming hut near the start line. A few minutes before the scheduled start were spent remembering things: apply vaseline to body parts exposed to the cold (thanks to an EMT staff in 2014 Kaiser Permanente San Francisco Half Marathon), consume water at every other aid station (thanks to Stephen) and not pour water over my head or throw away the gloves (thanks to Meb). The beautiful rendition of God Bless America was soon followed by the horn that sounded the start of the race at 8:30 am.

26.31 mi, 3:29:29, 7:58 min/mile (4:56 min/km), 7.53 mph (12.12 kmph)
Garmin Forerunner 935 and Tempe Sensor, Stryd Power Meter, and WP GPX Maps Plugin

Fearing a gun time/mass start, I started near the very front of the pack but immediately held back my pace. The mental map I had of the course held true for the first mile. Once turned on to the Tri County Corridor Trail, the course was lot more rocky, rutty and frequented with sand, bumps and puddles than I had anticipated for the next 23-ish miles. With the mental map of the elevation profile no longer matching the reality by mile #2, I ditched the plan and replaced it with a conservative one. A brief 1-minute stop to use the bathroom punctuated mile #3 but it didn’t break my new plan or the rhythm.

The course felt like one of those flat hills or false downhills and fellow runners far ahead always seemed to be above my eye line. Maybe it was all in my head but the feeling was one of a grinding gradual climb that lasted 20+ miles … indicating the need, post-race, to step up my mental game because the elevation profile clearly shows something else. But the course had its share of pretty portions as well: a canopy of Fall-colored trees and blustery snow flurries, though far and few between in the beginning but more frequent during later miles, added a certain romantic touch to the run!

Still running conservatively and adapting my effort to what the course gave me, I reached the 10 mile mark around 1:16:30 (7:39 min/mile), the halfway point around 1:39:30 (7:36 min/mile) and the 20 mile mark around 2:33:30 (7:41 min/mile). But the cold (34 F at the start; predicted high of 42 F but never went above 36 F during the entirety of my run) and accompanying winds made my legs and torso region feel like blocks of ice by that point. I struggled in miles 24 and 25, and walked a few steps a few times. If not for John’s presence at several road crossings earlier and his frequent reminders to trust the process, I would have had a much harder time.

Just as the possibility of John’s efforts as well as a prime bib number (#241) going down the drain was leaning towards becoming a harsh reality, I attempted a few short surges to get out of this funk: most of them failed but the final one near the end of mile 25 worked. The last 1.50 miles were on paved path and I was able to sustain the pace gained from that last surge. I was even able to put one final kick over the final few hundred yards even though it had one too many sharp turns – easy candidates for bad wipeouts under slippery conditions. The official time, 3:29:29 (7:59 min/mile), was good enough for 33/210 overall, 28/122 in gender, 7/17 in AG and 15/69 in masters – earning me a new PR by 6 minutes and 17 seconds.

Event distance: 26.22 miles; Goal time: 3:34:45
Lap Cumulative
# Time Avg.
HR
Avg.
Cad
kCal Elev
Gain
Loss
Avg.
Temp
Distance Time Avg.
Pace
Elev
Gain
Loss
Projected
Finish Time
Differential
Goal Time
01 7:54 145 181 83 66 26 57.2 1.00 0:07:54 7:54 066 026 3:27:08 0:07:37
02 7:34 165 182 103 20 30 51.8 2.00 0:15:28 7:44 086 056 3:22:46 0:11:59
03 8:44 168 158 114 26 20 50.0 3.00 0:24:12 8:04 112 076 3:31:30 0:03:15
04 7:29 171 177 99 10 33 51.8 4.00 0:31:41 7:55 122 109 3:27:34 0:07:11
05 7:27 172 177 103 16 23 53.6 5.00 0:39:08 7:49 138 132 3:24:57 0:09:48
06 7:29 171 177 103 10 00 55.4 6.00 0:46:37 7:46 148 132 3:23:38 0:11:07
07 7:28 171 176 102 10 20 55.4 7.00 0:54:05 7:43 158 152 3:22:19 0:12:26
08 7:30 169 176 101 10 10 55.4 8.00 1:01:35 7:41 168 162 3:21:27 0:13:18
09 7:34 169 176 101 20 30 53.6 9.00 1:09:09 7:41 188 192 3:21:27 0:13:18
10 7:23 168 176 96 00 39 53.6 10.00 1:16:32 7:39 188 231 3:20:34 0:14:11
11 7:29 167 177 97 00 49 51.8 11.00 1:24:01 7:38 188 280 3:20:09 0:14:36
12 7:18 168 178 95 00 49 51.8 12.00 1:31:19 7:36 188 329 3:19:16 0:15:29
13 7:30 168 177 97 00 56 51.8 13.00 1:38:49 7:36 188 385 3:19:16 0:15:29
14 7:14 169 177 94 00 56 51.8 14.00 1:46:03 7:34 188 441 3:18:24 0:16:21
15 7:39 166 176 95 00 39 51.8 15.00 1:53:42 7:34 188 480 3:18:24 0:16:21
16 7:49 165 176 92 10 13 51.8 16.00 2:01:31 7:35 198 493 3:18:50 0:15:55
17 8:01 165 174 94 13 10 51.8 17.00 2:09:32 7:37 211 503 3:19:42 0:15:03
18 8:06 163 173 86 07 36 51.8 18.00 2:17:38 7:38 218 539 3:20:09 0:14:36
19 7:57 162 173 79 00 56 51.8 19.00 2:25:35 7:39 218 595 3:20:34 0:14:11
20 7:52 163 173 81 00 49 51.8 20.00 2:33:27 7:40 218 644 3:21:01 0:13:44
21 8:15 163 172 84 00 59 51.8 21.00 2:41:42 7:41 218 703 3:21:27 0:13:18
22 7:54 165 171 90 00 20 51.8 22.00 2:49:36 7:42 218 723 3:21:53 0:12:52
23 8:30 163 169 87 00 23 51.8 23.00 2:58:06 7:44 218 746 3:22:46 0:11:59
24 10:07 157 161 69 33 00 55.4 24.00 3:08:13 7:50 251 746 3:25:23 0:09:22
25 10:31 149 158 47 10 07 55.4 25.00 3:18:44 7:56 261 753 3:28:00 0:06:45
26 8:25 162 169 77 20 03 51.8 26.00 3:27:09 7:58 281 756 3:28:53 0:05:52
27 2:18 168 173 27 00 13 51.8 26.31 3:29:27 7:57 281 769 3:28:27 0:06:18
The units are as follows: miles for Distance, m:ss (or h:mm:ss as applicable) for Time, min/mile for Pace, bpm for HR, spm for Cadence, ft for Elevation Gain/Loss and F for Temperature.

The final cumulative time, 3:29:27, may not match the actual time owing to rounding errors. The overall distance, 26.31 miles, may not match the designated event distance owing to idiosyncrasies associated with GPS data collection and in some rare cases, incorrectly measured courses. As a result, the cumulative pace and the projected finish time might not match the recorded values as well. The Garmin Tempe sensor doesn't work at times and as such, the recorded temperature could be that of my body ... shifted by prevailing ambient temperature.

The post-run activities included catching up with John and my two new friends, Angel and Nick, from Colorado, re-hydrating and changing into warmer clothes. Our return journey, in light of the predicted snow/snowy rain, started shortly after we got a bite to eat at the Chequamegon Food Co-op, and was smooth and uneventful. Much of the evening after getting back to Houghton was spent thawing out from the inside, and the icing on the day was an ice cream gathering with good ole friends.

The day after

Nearly 10 hours of sleep helped not only thaw me out completely but also relieve much of the soreness from race day. Little did I know, when I turned on the Olympic Channel to watch the live telecast of 2019 Chicago Marathon (an event I was scheduled to run until about two weeks ago), I’d see yet another remarkable performance! Brigid Kosgei, who started faster than the commentator liked (or maybe it was the pacers’ fault?), went on to a world-record performance with a time of 2:14:05 (5:07 min/mile) breaking the previous record set by Paula Radcliffe (2:15:25) in 2003 London Marathon.

Those 2+ hours also provided sufficient opportunity to reflect back on yesterday: John, in spite of not being able to run himself as a result of stress fracture, had travelled with me on this trip – he drove the entire way and took care of all logistics, saving me a lot of mental energy to focus on the run; He had been driving from one road crossing to another in less than ideal conditions for spectating to remind me to trust the process; I had forgotten Jan’s suggestion to leave racing flats at home and use a pair with better cushion; I didn’t do the progressively faster splits as I had planned; I had perceived gradual downhill portions as mostly grinding uphill; I had adjusted my effort to the perceived elevation profile of the course; the average pace of the struggle bus I rode in miles #24 and #25 – 10:15 min/mile – was my top-end comfortable pace about a year go; I followed the nutrition (i.e., gel) plan faithfully throughout the course – taking one every 5 miles through the first 15 and then one every 4 miles over the next 8. I had missed the goal by about 10 minutes in what was mostly a trail marathon under less than ideal conditions for running. Taking everything into account, I had come away with more plusses than minuses, and had gained valuable confidence to run the second race of this training cycle in 3 weeks in the Big Apple.


Thanks be to

the rejections and opportunities life has brought my way, event folks (organizers, sponsors, volunteers, timing folks, law enforcement officials, photographers, fellow participants and spectators), and the family of good friends in and outside of my community for all the unexpected, undeserved and unrewarded acts of constant encouragement as well as offerings of constructive criticism to improve myself as an athlete and a person. I am eternally grateful to all those who let me train with them, who shared their invaluable tips with me, who helped keep my mind, body and soul in good health, who helped me stay the course during the training cycle, who continued to teach me the value of work-life balance, and who cheered me on from home or along the course.

One Reply to “2019: WhistleStop Marathon”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.