Wisconsin 70.3 - June 9, 2019

First race of the 2019 season in the books! This is my second race in Wisconsin the first race was in Racine, but this one was located in Madison. Wisconsin always does a great job with support in the crowd, and this race was no different! Onto the details…

The swim was pretty straight forward, completed in a large lake. The day before there was white caps, but the morning of the race the water was like glass! I did what I could, but I was definitely a little slower then my standard times. I finished the swim in 36:15, about 2-3min slower then normal.

Onto the the bike…wow! That’s about all I can say. Who would have guessed it would be so hilly in the middle of Wisconsin! The total elevation gain at Wisconsin was roughly 2,400ft. The gain wasn’t too bad, but there was several sections that were very steep giving you some serious challenges. Once again, Wisconsin did disappoint with the nations worst roads! I can’t say that enough! The roads they selected for this course were in terrible shape making the course that much harder on the body. Overall I finished the bike in 2:38:53, which sounds slow but was in the top 20% of bike splits on the day.

Finally, onto my favorite! It was a hot day, but wasn’t too bad with the shade on the course. The run loops one time around the lake and had several short ups and downs, but was really pretty flat. I ran decent, but struggled towards the end as I just got tired in the last 4-5miles, and it became the game of “do what you can”. One of these days I’ll figure this out! I finished the run in 2:10:52. Not my best, not my worst.

Overall, I finished the day in 5:31:49 which is a respectable start to the season.

Racine 70.3 - July 16, 2017

Race #4 is in the books!  I’m familiar with Wisconsin as I have family that lives there, so I was a little nervous of the potential for humidity.  However, they had several days of rain prior to my arrival and the temperature was perfect!  Wisconsin is a beautiful place that is very flat with nothing more than some rolling hills here and there, so I knew that it would be a good opportunity for strong bike.

The day before the race I checked in and went over to athlete briefing (even though I normally skip it as I’ve been through so many of them at this point).  During the briefing they talked about the normal stuff, but what I waited for was the swim details.  During the swim portion of the talk they discussed that the water temp was currently 58deg, and anything under 57deg would cut the swim in half…then they finally said anything under 53 or 54 (I can’t remember exactly) the swim would get cancelled.  So, while I was a little bummed out over the possibility of having the swim cancelled there was nothing in the forecast that should make the water temp go any lower, so all you could do was hope for the best.

I was with my family, so we decided to ride over to the transition area and swim to scope it all out.  During that time I got to meet up with a fraternity brother who was also racing, with whom I haven’t seen in over 10yrs!  We walked around the beach a bit, checked out the transition area, and even walked up the run course a bit.  Once we were done with that it was time to go find my standard issue Chipotle dish…though it wasn’t fully standard.  My normal prerace meal when I travel is burrito bowl from Chipotle with extra brown rice, chicken, tomatoes, veggies, little mild salsa, and of course guacamole.  However, over the past month my wife and I have been trying to eat closer to vegan to see how that would make us feel.  So, I swapped out the chicken with tofu added black beans for some additional protein and away we went.

During the morning of the race I felt good, got my breakfast down, drove about 15min to get to the site and I was ready to rock.  As I pulled up to the parking lot I hear an announcement come over the walky-talky of the parking attendant: “let the athletes know the swim is cancelled”.  Immediately I was bummed confused as to what the day would bring on from here.  The morning was cool, probably in the low 60’s and the water temperature had dropped to 51deg which was well below the cancellation point.  As I wondered over to T1 it was clear people were a bit confused as to how the rest of the day would go.  We were finally told the start of the race would be delayed about an hour, and we would do a time trial start with 2 people at a time based of your AWA status.

After an hour or so passed, it was finally time to start the race.  As the race official pulled 2 racers side by side at the start of the timing mat (loaded up on their bikes) he’d shout “Go!” every 5sec as he worked his way through all the athletes.  I have a silver status in the AWA standings, so I was towards the front which was nice as I didn’t have to compete with the large groups of people ahead of me.  When I took off on the bike it was a slight climb right out of the gate to get up from the beach area to the main roads, and from there it was fairly flat the rest of the ride.  The winds were gusting between 20-22mph all day with a steady wind of 16-18mph all day.  The roads on the bike course were terrible!  I’ve rode some bad roads before during a race, but nothing like this.  About 7miles out on the out-n-back course the roads got a little better and I started to turn up the speed.  Where I started in the time trial starting block there was no female athletes ahead of me other than the pro women who had around a 5-10min head start.  About 15miles into the ride I spotted my first female and got excited as I knew I was closing the gap on the pro’s (or at least some of them), which meant I was probably holding my own with my age group.  The rest of the ride was fast as I chased down all but 2 of the pro women in the field, and was only passed by a handful of other age groupers.  My final ride time was a PR at 2:18:40 which is a 24.21mph average, which was a new PR from my previous PR this year at Chattanooga by 5min!

Racine Bike Pic.png
Racine Run Pic.png
Racine Bike Pic 2.png

As I came into T “2” I was feeling pretty good about my time knowing I passed who I could, held off who I could, and only gave up time to a few.  I ran through T2 fairly quickly adding only 1:26 to my time.  My new thing through transition is now grabbing a honey stinger energy gel, which has worked out great for me.  This gives me a few extra seconds to bring my HR down and ensure I get some calories in before I head out on the run.

Heading out on the run, I knew it was a fairly flat course with only 400ft roughly of climb on the run course so I only had one goal in mind…break that 2hr run again!  If I could do it again, that would be 2 times in a row that I was able to stay under that mark.  As I head out I was rolling pretty well with a low 8min/mile pace for the first few miles feeling pretty good.  At about mile 5 or so I began to feel a twitch in my stomach, but I was hoping to let it pass, so I ran past the porta-pots at mile 5.  As I continued to run I realized this stomach pain wasn’t going away.  As I finally approached mile 6 I made my first pit stop…that’s right my FIRST pit stop.  Coming out of the bathroom I was feeling much better, and took back off on the run course.  My legs were still feeling good, and unfortunately better than my stomach…but I began lap two.  I took off on lap two cruising at a 9min/mile pace feeling pretty good until the bubble hit me again.  Around mile 10 or 11 I stopped for my second pit stop (I'm sure you can see both stops in my running data below...haha).  I was starting to get discouraged as my 2hr time was slipping from my fingers all because of 2 pit stops on the run course.  After that I started giving it everything I had left to the finish line.  As I crossed the finish line I looked down at my watch and saw that…I DID IT!  Even with the 2 pit stops on the run course I actually broke the 2hr run mark.  My final run time was 1:59:27…BOOM!

When all said and done I had a solid day with a PR bike split, and only my 2nd sub 2hr run in my career.  My final time was 4:19:32 which was good enough to put me in 25th/138 in my division, and 175th/1,260 overall.  A solid day for sure, and only 1 place from 70.3 World Championship roll downs.  Next time! 

Racine Bike.png
Racine Run.png

Victoria 70.3 - June 4, 2017

Another race, another PR!  IM Victoria 70.3 is now in the books.  To recap the race, first let me tell you about how beautiful Victoria is!  The landscape is amazing with water and mountains all around you, pine trees for days, and not a flat section as far as the eye can see.  This location was definitely one of the more scenic locations I’ve done.

I traveled into Victoria Thursday before the race, which was great as this gave me one extra day to prepare from what I normally have.  Because I had the extra day to prep, I decided to get registered on Friday along with picking up my bike.  Friday was the day that I realized parking was going to be at a premium for this race, and probably not super convienent.  However, Thursday was great to see IM Village, check in, and grab my bike.

As I drove around Victoria on Friday I started to get a little nervous about the bike course.  I realized everywhere I went it was hills, and the roads were in pretty rough shape.  So, Saturday I drove the bike course with my family to check it out.  Sure enough…it was hilly!  The way the course was designed you spent the first 28 miles (roughly) doing rolling hills in an overall decending elevation, and the last 28 miles was rolling hills all in an elivation gain.  The total gain for this bike course was just shy of 3000ft total making it the largest gaining course for me on the season thus far.  Besides the fact that the elevation was a bit intense, the roads were in really rough shape.  Pot holes everywhere, and the bulk of the roads seemed to be chip sealed and asphalt making them rough rides in general, requiring a bit more effort/watts to turn out the same pace as a better surface.

After seeing the course, and of course getting myself a bit worked up over it I went back to the hotel to rest and prepare myself for race day!  The temperature called for a high of 60deg F on race day making me a little nervous about the temps on the bike as it had been overcast the first two days I was there.  So, last minute I decided to pack in a bandanna and take some arm warmers which would be a game time decision whether I would wear them or not.  Once I was all packed up it was off to bed…at 8pm…while the sun was still up (insert eye roll here).

On race morning I was up at 3:45am as the gun went off for the swim start at 6am, and my hotel was 25min from the race location.  Also, there was no parking near the site.  All the parking was to take place at the other side of the lake and shuttle buses brought you over to T1/T2…by driving the long way around (took about 15min for the bus to get from the parking lot to the transition zone).  I got into transition at 5:20ish and began to set up.  I decided that it was definitely cold enough that I would wear my bandanna, but I didn’t want to deal with the arm warmers in transition so I set it up that way and head over to the swim start.

The swim start was a rolling start (as it seems that is the way IM is going now), so I seeded myself at the front of the 30-35min group.  The gun went off at about 6:15 for age groupers and we were off!  It was a single loop course with a water temp of 67deg.  I actually felt pretty good during the swim, about normal on my pace.  My goal for the day wasn’t to do anything stupid on the swim, but just keep myself in the hunt on the swim, and I did that.  I finished the swim in 31:42, and a placement of 31/126 in AG, and 217/1451 OA. 

After my swim it was a short run over to T1, where I felt like I was fumbling around a bit but got out of there in 2:39 which is a fairly quick turn around.  I had one gel in transition and then head out on the bike.

Once I was able to get on the bike…had some issues with my wet shoes/mud clipping in…I hunkered down in aero position and started heading out on the course with a little bit of fear.  It was still fairly cold (in the 50’s at most) so my body was having a hard time getting in rhythm.  About 15-20miles in all I could think was “man this feels like crap”…everything in my body said this wasn’t going to be a good ride.  My goal HR was around 150 for this race and watts were to be around 250.  Honestly I had no problem keeping the HR at 150, but the watts just didn’t seem to want to come…or so it felt.  At about mile 48 or so there was a double step climb that was basically put on the course to make you hate everything about riding a bike.  The climb wasn’t terribly long, but it was very steep, however coming down the hill was super fun as my max speed coming down the hill was just under 48mph and I didn’t pedal once!  As I approached the dismount line I felt bad about the ride as it felt slow and hard for me giving me little confidence coming off the bike.  I finished the bike in 2:37:32, and a placement of 19/126 in AG, and 107/1451 OA.

Since I didn’t realize that I had gained that many position back on the bike I was originally bummed as I headed into T2, until I got into T2 and hardly saw any bikes in the racks!  Once I realized there wasn’t that many bike in the racks I got a sudden jolt of energy realizing maybe I was doing better than I thought.  Again, my T2 time felt slow…I even stumbled on some peoples bags (as they were allowed to line the fence with them and of course they fell into my running aisle).  However, once again my transition time was much faster then anticipated with a time of 1:23!

Finally came the run!  The run is what all the days goals were wrapped around.  My goal time for the run was 1:59:59 or better!  Coming off the bike, my body was fairly cool but not too bad with exception of my feet.  My toes were so numb from the cold ride it took about 2-3 miles of running before I got all the feeling back in them, however I didn’t care as I had one goal…SUB 2!  I started out the run a little quick as always, but I said let’s focus on HR and see what we can do.  Unfortunately, my HR was off the charts.  I ran the first 10k of the run in 54min, which is around a 8:35/mile pace…way faster for that distance then I had ever gone before.  Had I been able to carry that same pace to the finishline I would have had a 1:48:00 run!  But, like I said my HR was off the charts which did start to slow me down.  I did up my salt intake this race, and added 2 gels (one at mile 4 and one at mile 8) which definitely helped.  Even though my run slowed a little, it didn’t slow too bad as I finished my run in 1:56:36!  A SUB 2hr TIME!!  I couldn’t believe it, as my HR ended up averaging around 165 which is dead middle of my Z4 HR…SUB THRESHOLD!  I should have been running closer to 155, but that 2hr time limit was looming over my head and I wasn’t going down without a fight on this one!  My time finished me in 29/126 in AG, and 185/1451 OA.

My final time was 5:09:52 which was was super pleased with on that course.  It wasn’t a sub 5hr race, but that bike course was no joke and I set out to do what I wanted which was go sub 2hr on the run!  All in all it was a great day!

Victoria Bike.png
Victoria Run.png

​Chattanooga 70.3 - May 21, 2017

Well…WE DID IT!!  On August 12, 2016 I stated on my Instagram page the following comment:

“I will hit an Ironman 70.3 target of sub 5hr within one of the next 4 races!”

When I stated that, the fastest overall time I had  at the time was 5:32:20.  So, this was a major undertaking for me.  Well, I DID IT!  On my 4th race since I stated this (Superfrog, Miami, Oceanside, Chattanooga), I broke 5hrs!!  I finished the Chattanooga 70.3 race in 4:56:17!  So, how did this happen…let’s recap!

The day before the race I wondered around Ironman Village checking and Chattanooga trying to get a lay of the land.  During the walk the temperature outside got into the mid to upper 80’s with extremely high humidity causing some concern for me going into race day.  So, I added some salt to my water and began to drink everything I could get my hands on to make sure I was hydrated.  The whole week leading up to the race they called for 100% chance of thunderstorms in the area, which freaked me out since I knew they’d cancel the swim if this happened.  And, just like clockwork 8pm the night before the race the first of the thunderstorms blew in pouring like crazy!  All I could do was prepare myself to get out in the rain and do what I know to do…so, I put no more thought into and went to bed.

I woke up the next day around 5:10am with a plan to head down to the T1 at 5:30am (my hotel was right across the street).  I woke up, grabbed some water (roughly 8-10oz) and began to eat my mini bagel and nut butter (roughly 350c total).  I had everything packed from the night before so I head down.  As I left the hotel, I was just assuming I was going out into the rain…but, the rain had stopped (or what I assumed for just for that moment).  I got down to transition and began setting up like any other race, the only thing I did differently was use my morning gear bag to hold all my transition items so they wouldn’t get wet in case of the rain.  Once I checked everything I grabbed my wetsuit and head to the bus for the swim start.

At the swim start I ran into my buddy Kenny Bell (who I was determined to beat at this race…more on that later), after a quick morning conversation we seeded ourselves in the 30min section.  I wasn’t totally sure where to put myself in this swim and I knew the swim was down stream and my normal swim times are around 30-35min, so I seeded myself at the front of the 30min zone assuming I’d probably come in under 28 or so.  The gun went off at 6:50am for the pros, while the age groupers waited.  Once the male and female pros went there was a long delay which wasn’t communicated as to why, but then I could see some jet skis zipping around the river moving buoys.  Turns out the pros were struggling to fight the current at the beginning of the race (roughly a 150-200m section swimming against the current before turning around and heading back down stream), so the race officials took out the swim upstream and made us swim straight across from the start to the first turn buoy and then downstream.  This adjustment took off about 350m from the swim (roughly 0.25miles), making the swim closer to a 1 mile swim instead of a 1.2 mile swim.  Once I jumped in the water is was game on (still no rain), I felt great!  I found a rhythm that was strong and the current was definitely doing its part.  I was passing people left and right, and found a longer stroke then normal was pulling me harder so I stuck with it.  Ultimately I got to the swim exit and thought to myself…”Am I already done?!?  Holly Crap!”.  I finished the swim in 17:15 and a Div. Rank of 21/270!

As I ran through T1 I realized I hit the wrong button on my watch at the start of the swim causing it to turn off, so I had no data of my time (which would then lead to me never really knowing where I was at in my overall time ALL DAY!), so I fussed with my watch as I ran up to my bike getting it all started before I started out on my bike.  Even with the short run from the swim exit to my bike, and the time lost playing with my watch I got through the first transition in 4:49.  I ate one Honey Stinger gel and took off on the bike!

Once I was on the bike, I was determined to keep my HR around 150bpm, and my wattage around 250w.  I wasn’t sure what to expect from this course as I heard it was very “rolling” with some decent amount of climb.  However, I generally excel at rolling courses so told myself “just stick to the numbes, and you’ll be fine”.  As I got through the first few miles on the bike I quickly realized my power meter wasn’t working!  My bike had been out in the rain all night, and I’m pretty sure one of the arms of my meter wasn’t registering (battery fried or something…still not sure).  So, I told myself “time to hone in on the HR…you can still do this!”.  I decided to target a 150-155HR to make sure that I was still pushing myself throughout the bike course.  This was also my first race where I only took liquids on the bike for my nutrition, and it was much better!  I switched to Tailwind, mixed with my Base Performance salts  for this race.  I took 2 bottles with me on my bike holding 300 calories, and 2000mg of salt each.  I set my watch this race to buzz/beep every 10 minutes to ensure I drank whenever it went off, and that made my life much more simplistic.  During this whole ride I keep thinking, “It still hasn’t rained?!?!  Awesome!”.  I put my head down and just focused in on the HR and passed biker after biker on the course.  When I finally got back to T2 I had logged a 2:24:08 bike time (PR by 5:30!!), and I moved myself up to a Div. Rank of 13/270!  I would have never guessed that I could be in the top 5% coming off the bike in my age group, but there you have it!

I ran my bike back to T2, and grabbed my run shoes.  I felt like I took my time through T2 focusing on catching my breath and ensuring I slow down enough to pace myself at the start of the run.  I came out of T2 in 2:46, which was much faster then it felt.

I started out my run thinking to myself “keep it under control!”, as I have a tendancy to come out of T2 a little quick!  I started out the first 3 miles averaging a pace of around 8:50ish which was SPOT on where I was supposed to be, and my HR was a tad high but not out of control so I was pumped.  I told myself since HR worked on the bike, lets focus on HR on the run and forget pace…the pace will be the pace.  So, I spent the next 10 miles honed in on HR keeping myself right around 155-160 the best I could.  When the HR would rise up above 160 I wouldn’t walk, but I’d slow down my pace to bring it back down and it was actually WORKING!  The last 5 miles of the run began to see a slow down in pace.  I wanted desperatly to be around a 9min/mile overall average or better I knew it wasn’t going to happen.  But, I also knew that I was still moving better than normal and my swim and bike were fast…so today was the day as long as I didn’t stop moving forward!  Ultimately I got myself to the 9 mile mark and I said “where’s Kenny?!  I haven’t seen him yet…no way he’s still behind me!”  And, just like that Kenny appeared and said with a big grin “You better start running Nate, I’m feeling good”…all I could think was “SHIT”…haha.  At mile 10 Kenny ran passed me with a big smack on the ass, and it was all I could do to try and keep him in my sites.  Ultimately I lost him, but with about a mile to go I decided to see what I had left in the tank and let it fly!  My last mile was right around an 8min/mile and my HR was around 172bpm…but I didn’t care I just wanted to make sure I got that overall PR of a sub 5:30!  As I crossed the finish line my run time came in at 2:07:19 giving me a Div. Rank of 62/270.

As I met up with my mom, she said to me “I think you went under 5hrs?!”.  I had no idea where I was at since I didn’t have any of my swim times, but as we loaded everything up sure enough I had finished at 4:56:17!  I couldn’t have been more excited about how the day went!  I still have some work to do on the run, but we are definitely closer.  The fact I got off a PR bike ride and then ran my second fastest bike time is a good indicator that we’re close.  The race day ended up being perfect with NO RAIN at all, overcast skys cooling it down drastically from the day before, and wonderful support from my mom as well as all the spectators.  Chattanooga is definitely a race I’ll be back for some day, and I highly recommend to others!

Chatty Bike.png
Chatty Run.png

​Oceanside 70.3 - April 1, 2017

First I'll start off by saying Oceanside is a beautiful place, and the weather couldn't have been anymore perfect!  This is an early season location I'd recommend to all triathletes!
I stayed at the Springhill Suits located right across the street from Ironman Village and the finish line.  This was the recommended hotel, but the only downfall is that the swim and transition location was a solid 1.5 miles away from the hotel.  The only way to get over there was by walking and a shuttle that got you 60% of the way.  There was no other places to stay, so this only became an issue after the race when you're tired and you needed to make your way back to transition for all your gear.  Still, I'd recommend this location to those traveling to this race.
The morning of the race I was feeling good, but my nutrition mishaps began early in the day at breakfast!  I forgot to pick up my normal breakfast from the store which normally consists of a banana, bagel and some peanut butter.  Luckily the hotel was giving out goodie bags which had banana and peanut butter in it, but no bagel so I improvised with a honey stinger waffle.
Once I got to transition I got all set up and ready to go.  As I was setting up I couldn't help but turn around and check out my rack mates right behind me...it was none other than Andy Potts, Jan Frodeno, Lionel Sanders.  Needless to say it was a bit intimidating!

It was a cold morning for sure still in the 40's I believe, so I was happy to get the wet suit on and start the day off!  As I lined up for the swim I placed myself in the front the the 30-35min wave with a goal of 32'ish minutes.  The water was in the low 60s, but it was extremely calm waters.  Even though it was ocean water we never really felt the effects of that until we were out at the half way point.  Swimming back into shore I struggled to spot as the sun was straight in our eyes.  I never got to far off track though I did have one of the volunteers redirect me as I was swimming towards the wrong buoy at one point.  I completed the swim at 34:44, slightly behind my goal however I attribute that mostly to my poor spotting.  Coming out of the water I was in 67th place in my division and 491st overall.
Transition was a long run, and given how cold I was I decided to run a little hard to wake the legs up and build up a little warmth which seemed to work.
After a quick honey stinger gel and some water I grabbed my bike and head out!  My target time was between 2:35-2:40 given the climbs and speed limits on the course.  I was also supposed to target a normalized power of 270w (which I failed to achieve).  The bike course started off in a rolling hill format which I love!  I held a strong pace for the first 10-15 miles keeping my power up around 260-270w.  I forgot to pack my aero bar hydration bottle...big mistake!  I assumed I could just use my cages, but when I get in the groove I don't slow down to pull the bottle out so I paid the price.  At this distance I should've had 40oz of my mix 20oz of water, 2 gels, and salt every 5-6miles.  Well, I ended up only taking in around 18-19oz of my mix and roughly 14-15oz of water with 1 gel and hardly any salt!  I totally botched my nutrition on the bike which didn't cost me on the bike, but did catch up with me on the run...more about that later.   The bike course was beautiful,  cruising through Camp Pendleton for the bulk of the race.  There were 3 hill sections that were fairly intense, but the name of the game was push through those and smoke the rest!  One of the hills was a solid climb where I averaged around 4-5mph up it!  In total the course had around 2700ft of climb which is solid for a 70.3 race, but nothing crazy.  There was one section of the course with a speed limit in place and was strictly enforced with timing mats at the start and finish of it to ensure 25 mph was met.  There was also a couple sections of no passing which was a bummer, but all in all I finished the bike fairly close to schedule at 2:37:46.  My bike effort was clearly solid as I moved way up in the ranking to 44th in my division and 229th overall!!
Transition 2 was another long run with my bike in hand, and as I was running into transition I was thinking in my head..."man, didn't seem like I got the nutrition I needed!?".  After dropping my bike off grabbing my shoes and heading out I started to salt up a bit trying to revive what I was fearful could be my demise on the run.
As I head out on the run my target was a 8:45-9:00/mile pace for the whole 13.1 miles with my heart rate in zone 3 as much as possible.  This pace would put my run time around the 2hr mark...slightly ahead if I was closer to the 8:50 number.  My nutrition goals on the run were 1 honey stinger gel per hour, 2 base salt licks per mile, and 18oz of water per mile...with a little Gatorade at the aid stations as I was running through.  Starting out in the run I felt good, and maintained a 7:45/mile pace for the first 1.5 miles!?!  This was not a good thing!  I convinced myself that this was not sustainable as started to back off the gas a bit getting my first 6 miles of the run to average right around 9:07/mile which was fairly close to goal...then it happened...the wall!  Somewhere between mile 6-7.5 I started getting slower and slower and my HR was going higher and higher.  My legs were shot, and I felt like I had nothing left to give.  Every time I started to run a bit my HR was fire up, and I realized my nutrition had failed me along with the hard start to the run.  My last 5-6 miles turned into survival mode of a run walk which sucked!  My final run time was 2:14:36, which was 15min off pace!
At the end of the day, I'm actually not disappointed with my effort as my total time was 5:36:47 and I finished 118/422 in my division and 600/3430 overall.  The reality is that my overall time doesn't reflect my current endurance level, but my own screw up on nutrition hindered my effectiveness on the course.
Next up is IM Chattanooga 70.3, and my goal is to figure out how to simplify my nutrition to ensure I get what I need without feeling bloated while ensuring I have the fuel I need to finish strong!  I'm excited about where I am in my fitness, and I'm ready to unleash it all...just got to pull it all together!  Onward and upward!  My only limit...is me!

Oceanside Bike Details.png
Oceanside Run Details.png