Ann Arbor Half Marathon Recap

A beautiful day for the Ann Arbor Marathon. Photo courtesy of Brian Jones/Greg Sadler Photography

The Ann Arbor Marathon is such a great race that I returned to run the half marathon for my fifth year in a row on Sunday, October 4. The course seems to change a little bit each year depending on where construction is taking place around Ann Arbor. That just keeps things fresh and interesting! I’m glad Epic Races manages to adapt each year to keep the race going strong. As usual, the course was challenging but also very scenic and enjoyable.

The last couple years I went to a concert the night before the race which isn’t very ideal for getting enough sleep. This year I got a little more sleep, but instead of a concert the day before, I ran a half marathon. I’m not very good about coming into this race fresh and rested! Somehow I continue to pull it off fairly successfully though. The day before, I tried to take it easy and keep my pace under control at the Running Between the Vines half marathon in hopes of running fast in Ann Arbor. Still, I wasn’t sure how my back-to-back half marathon plan would play out.

When I signed up for this race I hadn’t planned on running the other race yet. I didn’t realize I’d be driving from Jackson right through Ann Arbor on my way home and that it could have worked to stop by the expo. I normally wouldn’t want to make the hour drive each way to go to the expo, so I opted to have my packet mailed to me for an extra fee because race day pickup was not an option. I received my shirt and bib in the mail a few days before the race.

This year’s shirt

I left home just before 6am on race day and was able to find free street parking (a perk of a Sunday race) a few blocks east of the start. There was a Throne public restroom without a wait that was close by. It’s a step up from using a porta potty so the morning was already off to a smooth start. I also lucked out and happened to run into a guy from work who was running his first marathon. I’m glad I got a chance to chat with him and wish him good luck. 

Half an hour before the start I left my warm clothes at gear check and went out for a mile warm up jog. I thought I might get a little cold during the downtime between my warm up and the start, but it was in the high 40s and I actually felt just right. It was going to be a great day for racing.

A rainbow before a race should be a good omen!

There was a rainbow in one direction and a glowing orange sky in the other as I made my way out to a turnaround point at the Michigan Theatre. We got some pretty great scenery before even starting the race.

That sky!

In past years I’ve lined up in the corral a little too late and got caught up in a mob of slower-moving people. This year I was there 20 minutes early and entered the corral right as it opened, allowing me to get closer to the front where I wanted to be. There were about 300 people running the full marathon and 1,000 running the half all starting at the same time. I figured I should be able to run under an 8:00 pace so I stood just in front of that pacer.

Getting ready to start
A pre-race shot
We’re off! Thanks to Epic Races and Greg Sadler Photography for all of the great race photos.
I’m off to the right side of the photo

Some years we’ve made a quick left turn onto Liberty where we’ve run east past the stores and theaters downtown, but construction prevented that this year. Instead, we began with a straight stretch to the south. It went from flat to downhill pretty quickly and all I could think about was having to run UP that hill later on tired legs right before the finish! 

There was a short out-and-back stretch that was surely there just to add a little extra distance. I got a very slight glimpse of the big block “M” of Michigan Stadium.

A tiny glimpse of the stadium off to the right

Soon enough we got into the heart of the University of Michigan’s central campus and back to the route the race usually takes along University, past the law quad then north past a bunch of other campus buildings.

The law quad architecture is beautiful
Running past some of the classroom buildings on central campus
Running through campus
Another nice race photo

A fun feature this year was running through a blow-up shark mouth that made me smile.

Something fun to liven up the run!

A little bit of rain started early into the run but it wasn’t forecast to stick around very long.

A wet bridge but clear skies ahead

After two miles we made our way to Geddes Ave. which features a couple miles that are mostly downhill. There are stretches where I picked up some big momentum flying down those hills. The rain continued and I had to be wary of traction on the road at times. I definitely avoided wet leaves over by the curb. Even with the rain, the sky looked pretty and it didn’t take long to clear up.

Running over the Huron River
Public art by Gallup Park

When we got to Gallup Park along the Huron River, we ran a stretch on a wood chip trail that I had never run before. It was fun to see a pretty area that was new to me.

We had a good variety of places to run
Such a gorgeous morning

After looping around the park, we followed the Border to Border Trail along the river for several miles as the race usually does. It’s nice and flat there and I liked admiring the beginning of some fall colors.

I always appreciate this specific tree

We hit the halfway point of the race while along the path and I’d been maintaining a pretty speedy pace. I guess the race the day before didn’t hold me back, but I’d have to see if I could keep hanging on for the second half.

I knew the hard part was still coming – the climb by the hospital. While I ran 7:36 for the mile before, I slowed down to 7:57 for the mile by the hospital. My pace continued to fluctuate for the rest of the race, all depending on what kind of hills popped up. I dropped back down to 7:22 for the next mile! That was a surprise because that’s when we ran through Nichols Arboretum. We normally hit the famous “Arb hill” then, one of the most difficult parts of the course. One good thing about changes in the course this year is that we didn’t climb that hill. We made up for it later though…

Starting the run through the Arb
More pretty Arb scenery

It was nice to spend more time running the trails through the Arb. We had lots of twisting and rolling downhills through the woods. We even got a segment of double track trail that I hadn’t run before. We came out into a neighborhood and THEN we made up for the climbing we had missed earlier. There was no break when we got out to Geddes!

We didn’t do much climbing in the Arb, but the climb began as soon as we left it

That area where I flew along downhill on the way out? Now we got to run UP it on the way back. I ran 7:54 and 8:10 for those miles, quite a drop off from some of my 7:20s and 7:30s miles. I’m actually surprised I was as fast as I was because I really felt like I was crawling. That climb definitely got to me. 

The elevation chart. The second half of the race had some tough stretches!

Once I was done with the stretch on Geddes, I was able to recover and get moving again. We got back to a flat part of campus and I started cruising.

Back to campus
I appreciated this flat stretch
Flying along with both feet off the ground

I came across people doing the 5K and 10K at that point and the course got a little more congested. I had to do some weaving to make my way around walkers and slower runners.

People of all ages doing the race!
Still flying!

I knew the climb just before the end was coming, and it was rough, but at least the road leveled out for a little bit of recovery just before the finish line.

The final stretch
Thanks to Greg Sadler for a great series of finishing shots
Almost there
A big smile for Greg

I saw my photographer buddy Greg Sadler waiting at the finish and got my usual high five from him as I passed by.

Another perspective
Done!
My results
My splits, which were all over the place depending on the hills
My Garmin info

I stretched for a while before heading to the post-race area to collect some food. I enjoyed the usual Epic goodies of pancakes, an egg and cheese wrap, cookies, and more!

The post-race area
Always great food options at the end of an Epic race

When I dug into my results I realized that my time was only 16 seconds slower than my race on the totally flat Belle Isle course a couple weeks earlier. For as hard as I thought the hills felt, my speedy time didn’t really reflect that. After more digging later, I found that this was actually my fastest Ann Arbor half out of the five by 20 seconds! I guess flying down the hills really helped balance out the struggles up the hills. Doing well on the challenging course just made me feel more accomplished!

I worked hard for this one
A closer look at the medal

Because I was third in my age group I could collect an award. I had seen a cool hat was one of the options and I’d been hoping I could run fast enough to get one. It’s definitely a prize I’ll put to use!

My new hat and medal

I was tracking my work friend Shubham in the app so I could figure out when he was due to come back to start his second loop. I went out to wait for him and was glad I could cheer him on. Doing two loops of that course is hardcore!

Halfway through the race

I walked around campus for a bit to enjoy the gorgeous day before heading home.

Another pose with my medal by the clock tower

I still felt fine, but by the next day I was tight enough to take a rest day after my double half marathon weekend.

Next up is an official challenge (unlike my personal back-to-back half marathons) with the Detroit mile and 5K one day, then the half marathon the following day.

– Janet

Follow me on Instagram @janetboltz

Running Between the Vines Half Marathon Recap

A wine stopper medal

I was browsing a calendar of upcoming races when Running Between the Vines popped up and I decided to look at more info. I’ve been vaguely familiar with it but always thought it was run on grass or trails and wasn’t sure I wanted to try that. When I read the description and learned that it’s actually run on peaceful dirt roads, it got my interest. I like running the dirt roads near me during long runs and it would be a nice change of scenery. I received an email from Running Fit Events that offered a $15 discount on the race and it made me go for it. I had already signed up for the Ann Arbor half marathon the next day so it would be a little ambitious to do back-to-back half marathons, but it wouldn’t be my first time and I like a good challenge. I would just aim to keep things easy and not “race” this one.

The race took place on Saturday, October 3 at Sandhill Crane Vineyards in Jackson which is an hour and a half from me. The 9:00 start was perfect because I could leave by 6:30 – later than I leave for many races! They had us park at an elementary school half a mile down the road and I went to the race site to pick up my bib, which only took a minute.

A short walk up the road to the winery with some pretty fall colors
The registration area

I opted out of getting a shirt this time because they gave the option to save money and I have SO many shirts. I killed some time walking around the winery and made a porta potty stop early before the line got really long.

The walk back to the winery, which was also the starting and finishing chute
The race shirt was available in both short and long sleeves, but I opted out since we were given the option and my collection is out of control

It was a cool morning in the high 40s to start so I kept warmer clothes on until I did a little warm up jog just before the race started. There was a tarp on the ground where we could leave bags – a very informal kind of gear check. After such a warm summer, it was really nice to feel cool for a change. I believe this race has taken place in August in past years and have a feeling the early October date was much more ideal for running. I needed that mile of warming up because my shoes got wet from walking around in the grass and my feet were cold. 

What a gorgeous morning for a race

The half marathon and 5-mile races started first with the 5K to follow a bit later. There were flags to mark expected paces which I always appreciate because it helps reduce congestion at the start. I lined up at the 8:00 pace sign and there was a small group in front of me. Suddenly the announcer said we had 15 seconds until the start, counted down from five, and we were off. 

There weren’t many people lined up in front of the 8:00 pace sign
Almost time to start
The race started on a paved road

There was a brief stretch of grass to run through at the start and finish and we made it out to a paved road in no time. I ran around an 8:00 pace to start, but the goal was to keep things under control so I could still have a solid race in Ann Arbor the next day. I slowed down a little and tried to take it easier after that. It meant that a bunch of people came from behind and passed as I slowed down and I had to be disciplined about not going with them. 

After a couple miles on paved roads we hit a dirt road that ran alongside I-94 for a few minutes, then it turned nice and peaceful. We basically had the roads to ourselves and I may have only seen a couple cars the whole time. 

Hitting the dirt roads
Peaceful and pretty

The early morning sun shone through the trees and gave me the kind of views I had hoped for. Some leaves were just starting to change so there were little bits of color along the way.

No traffic, just runners

There wasn’t a large group running the half – only around 125 people. Once people settled into their paces I ended up mostly on my own. A few people passed then gained enough distance that I could see them up ahead. Otherwise, I didn’t really have anyone around. One guy who was close split off for the 5-mile course then I was back on my own. I enjoyed the scenery and concentrated on keeping my pace “easy” enough. It was a little faster than I would have run my typical long run but still slower than marathon pace.

A great place to run
I loved how the sun hit the leaves

Halfway through the race we had about half a mile on a paved road where there was still very minimal traffic – maybe one car. Then back to more rolling hills on the dirt roads. There were aid stations scattered throughout which provided a few little bursts of energy along the way, in addition to a few supporters out there to cheer for their people.

Mostly running on my own while enjoying the pretty colors

About 8 miles into the race we had an out and back stretch that added around a mile, and that’s when I saw the leaders of the race coming back the opposite way. I couldn’t help but count and find that there were six women in front of me. I didn’t think I’d catch any of them, and that stretch was a little tricky for me because I didn’t want it to motivate me to speed up! I felt like maybe I could pick up the pace for the last few miles but the hills helped keep me under control. 

Such a pretty course

There was one good climb with a couple miles to go that caused one person ahead of me to walk, so I caught up even though I practically came to a crawl myself as I continued to “run” it. Then I crossed an intersection where I was trailing just behind a guy, and the cop stationed there said, “Pass him at the end.” It made me laugh then I quickly realized I wouldn’t have to wait until the end because of how fast I was gaining on him. After passing him, anyone else was a good minute and a half ahead of me. I was back on my own and didn’t have to think about “racing” to catch anyone because they were so far ahead.

Running on the country roads

Still, I picked it up for the last mile which was mostly paved. At that point I don’t think I could have run a whole lot faster even if I had really hoped to. Although most of the hills weren’t too crazy, they were challenging enough to require some work and I didn’t exactly have a ton of energy left for a speedy finish. Aside from the last quarter mile, I ran the whole thing at 8:00 pace or slower.

The race map and elevation
My results
My splits
Finish line snacks

After collecting my medal and a glass, I appreciated what a gorgeous morning it was. I took some pictures around the vineyard, put some warm clothes on, then went to collect some food.

Posing with my cool new medal
A glass for finishers

I don’t drink wine but we got tickets for wine tastings and I’m sure that’s one big draw for this race.

Food to pair with wine tastings

Since I had opted out getting a race shirt and saved some money on that, I chose to add on a bonus food option and could collect a wrap afterward. Between the normal post-race food and that, it was so much for me that I couldn’t eat the second wrap! Sometimes I get frustrated by races that don’t have much food after a race so that definitely wasn’t the case this time!

The extra chicken wrap I ordered, plus a cookie hidden under the chips!

I enjoyed my treats on the porch outside of the winery and stopped by the awards table on my way out. I had won my age group and received a coaster for my prize.

A coaster for age group awards
Such a pretty setting for a race

This was a nice, small race with just under 400 people between the three events. I enjoyed it so I’m glad I finally looked into it and gave it a try!

When I got home I relaxed the rest of the day, trying to stretch and use the foam roller for calves that felt a little tight. I would hope that I could pull off another half the next day at an even faster pace!

My collection of stuff from the day’s work

– Janet

Follow me on Instagram @janetboltz

Crim 5-Mile Race Recap

The 49th Crim


Leading up to this year’s Crim 10-miler I questioned how I could write another post about the race that wouldn’t be repetitive since the August 22 race would be my ninth time running it. Well, I didn’t have to worry about that because this year’s race was anything but routine!

The early wake-up on Saturday morning was especially rough this time around because I’d gone to a Brandi Carlile concert the night before and got about four hours of sleep. I do that to myself all the time though and once I got moving I was okay. As I made the 45-minute drive up to Flint, I saw lightning off in the distance. I knew that rain could be a factor but didn’t think it was supposed to storm until later. I was hopeful that it was still early and would be out of the way when it was time to race. 

I parked in my usual lot to the north of the race site by 5:30 and walked down to the conference center to pick up my bib and shirt. While race morning pickup has always been fine in the past, the pre-race emails really pushed people to come to the expo a day or two before the race and only pick things up the morning of if necessary. I understand wanting people to attend the expo and avoiding long lines the morning of the race, but I went to the expo once and it really wasn’t worth the time or gas to drive 90 miles round trip to Flint two separate days.

The calm before the literal storm!

I got to the conference center at 5:45 and breezed right through packet pickup without any wait at all. I’m glad I “risked it” and didn’t make the extra trip.

Packet pickup at 5:45am
This year’s shirt

In the past I’ve usually taken the long walk back to the car to drop my shirt and relax before doing a warm up jog back down. This time I brought a bag to leave at gear check so I could stash the shirt there and save myself the extra trip. I hung out inside the conference center for a little bit and saw Infinite Multisport friend Leon. He was the first of many friends I would see throughout the morning. The race typically draws somewhere around 5,000 people for the 10-mile distance, plus there are also 5K and 5-mile options, so I always see lots of people who I know.

With Leon

The race was supposed to start at 7:00 so I headed out to gear check and the porta potties about 45 minutes before that. I’ve experienced long lines in past years and know that I need to leave plenty of buffer to make sure I get to the start on time. However, as I was waiting for my turn I heard an announcement that we were going to have a half-hour weather delay and now the race was due to start at 7:30. We were told to go to our cars, parking decks, or somewhere else to take shelter.

A social media update from Crim
The start area after the first weather delay was announced

There was some light rain at that point and I got a text from my friend Charles who said he was hanging out with friends in a parking deck across from gear check. As I headed there, I found a few more Infinite teammates!

More Infinite teammates

I found Charles who was chatting with people from a Rochester running group. The rain picked up so everyone stayed dry hanging out around the parking deck. The start of the race was pushed even later, and after talking with people for so long, it didn’t even feel like I was still about to run a race.

With Charles
Another Infinite group shot in the parking deck

When it seemed like we were on track to race, I thought I’d go back to the routine of trying to hit the bathroom a good 30-40 minutes before the start. I found that a lot of people had gathered under the awnings of buildings. Then another delay came and I decided I’d just go back to my car.

Some waiting for porta potties, some sheltering under the overhang
More people trying to stay dry
Another weather update

I happened to skip the race one year when the weather lead to a late start. A bunch of friends talked about how that messed up their fueling, so I’ve kept that in the back of my mind and try to always be prepared with enough to eat and drink in case of a delay. By this point I determined that I wanted to eat another bar and get some water, so that’s why I hiked back to the car. The rain was pretty light at that point and I wouldn’t have minded running in those conditions. Lightning was the cause of the delays though.

Heading back to the car for a snack

Thinking that the race would finally start at 8:30, I did a half mile warm up jog back from my car and lined up at the porta potties yet again, restarting my routine with every delay. I saw my friend Cristian from work who was probably one of the few people who benefited from the delay. He had called me earlier to say that he was running late and didn’t know if he was going to make it. That’s when I told him about the delay and informed him that he had plenty of time.

Hanging with Cristian

We were waiting in line when we learned the bad news. We were in another delay and now all of the people in the 10-mile race would run the 5-mile race instead. We would start at 9:00, which was two hours later than the original plan. I feel like I’m a better endurance runner and tend to prefer the longer distances. I wasn’t thrilled that running a 5-mile race meant that I’d feel like I should push the pace faster than I wanted to. At this point I pretty much dropped any expectations for the day and felt a bit of indifference toward the whole situation. I was thankful that we could still run and knew there wasn’t anything else we could do to work around the weather, but I still wasn’t thrilled about having to cut the distance in half.

A bummer of an update

Since there was still no rush to get to the start, I kept finding and chatting with people I knew, including Scott. It wasn’t raining at that point and clearly the lightning didn’t feel like an immediate threat because we didn’t bother to shelter anymore.

With Scott

Eventually I knew I needed to do another warm up jog because it had been long enough since my first one that I was getting cool and stiff. Cristian and I went for my second half mile, made a final bathroom stop, then parted ways as I headed to my spot in the starting corral.

Waiting to start

It’s amazing how many friends I find every year even in such a large crowd. It seems like I usually find Lindsay, and we crossed paths while waiting to start. I realized since we’d be running a shorter distance, I should probably try to run faster than my original bib assignment and moved up right by the 7:30 pacer.

With Lindsay

The wheelers started at 9:00, then the 30-year+ racers, the elites, the first wave, and about 10 minutes later I FINALLY started the race two hours later than planned. I’m not sure how many people had originally signed up for the 5-mile race but all of those people started with the people who had planned to run 10 miles. The start is always congested so I don’t know if it really mattered. I tried to hang by the 7:30 group, but as usual, there was a combination of losing them in all of the weaving and maybe not having the speed they had either.

After spacing out a little bit

I really try to run the tangents the best I can because I always end up with extra distance on my watch at the end of races. It’s pretty tough when the roads are wide, it’s so congested, and there are walkers and slower runners mixed in. If they were off to the sides of the road that would be one thing, but some of them were scattered all over. I’d be flying along and come up on someone and have to dodge around real quick. It was also hard to aim for tangents when I really didn’t know where the 5-mile course would take us. Stretches of it were the same as the 10-mile so plenty of the course was still familiar.

Runners and walkers mixed together leads to lots of weaving

Pretty much every year I see Lee out on the course, and that still held this year. I cheered for him as I ran past and was in awe of his 39th running of the race!

39 years of Crim for Lee

I kind of arbitrarily decided that maybe I’d be good to aim for 7:30 pace even though I haven’t been doing speedwork and wasn’t sure if I could hold it. It’s been so warm and humid this summer that I’ve failed to do anything very fast. I’ve mostly maintained mileage and endurance. Within the first mile I could feel that my face was pretty warm. I think it was in the 60s which shouldn’t have been too bad but I know it was humid too. It was for the best that I didn’t have to tough it out for 10 miles. For my best Crim race I actually averaged 7:20s. Conditions and everything else came together that year though. Had I tried to hang on to 7:30s for 10 miles, it could have gotten ugly this time.

Thanks to Crim for a shot along the course

Since the course was a bit different I didn’t get to see some of the usual landmarks like a woman bouncing on her trampoline or a guy doing karaoke. There were still people offering Jell-O shots and other spectators along the way. No Bradley Hills this time around! We did get some rolling hills around Kettering University, a stretch we don’t hit during the 10-mile race, and I definitely slowed down during the fourth mile. That was the point when Cristian cheered for me as he cruised right by. It was great to see him running so strong!

Some rolling hills by Kettering University

The last mile of the course was very familiar and it was nice to see the police vehicles flashing their lights right before our final turn.

A police salute

In the last straightaway, I could see Carlo, a friend from my days in the GM Running Club. Another thing that seems to be consistent about this race is that Carlo and I will end up running by each other at some point. This time it happened to be right before the finish. I didn’t have a whole lot of energy for a strong push but I just barely made it past him! We always seem to be somewhere around a similar pace.

The final stretch before hitting the bricks

When I hit the bricks just before the finish line, there were a couple guys doing a wheelbarrow – one guy holding the legs of the other guy who was trying to walk along with his hands. It was clear that it was pretty rough on those bricks. There’s always something entertaining to see at this race!

I also happened to see Dave from RunMichigan.com off to the side. He’s always there to cover the race and I had seen him a few days beforehand so we both knew the other would be there. I’m glad I looked over at the right time because as usual, my favorite picture from the race came from RunMichigan. They’re local runners who support the local running scene so I like to support them and purchase a shot when it turns out nice like this.

A nice shot from Dave McCauley from RunMichigan.com
Crossing the finish line (with Carlo right on my heels)

When asked how I did during this race, I didn’t really know how to respond. I’ve only done 5 miles (an 8K) once and I was coming back from an injury, so I don’t have much to compare it to. Knowing that I have run a faster pace for the full 10-mile Crim course made me feel like I should have had more potential for five miles, but it all depends on the conditions and how my training has gone.

I ended up with a time of 38:36 and was seventh in my age group, so I’ll consider that to be pretty good. Crim is one of the races that is a part of a corporate challenge between GM, Ford, and Stellantis, so my age group placing will help our team. Stellantis had a couple teams of runners and I was on the Dodge Chargers team. The top five highest ranking runners score for the team, and my team had a 1, 5, 7 (me), 14, and 14. Sometimes it takes weeks to get the final results. I did my part though!

The official results

***Update***

A little over two weeks after the race the results were updated. The people who signed up to run 5 miles were separated from the people who signed up to run 10 miles. That means I jumped up a couple spots in my age group. Hopefully the Corporate Challenge results weren’t finalized yet and will reflect these results.

The final (?) results

I much prefer the pace my Garmin provided versus what the race recorded! My watch makes it look like I actually DID manage around 7:30 pace. I talked to a few people who ran around a quarter mile long so it wasn’t just me. In fact, when I mapped the course to find the elevation, it came up as 5.2 miles. None of it really matters that much in the end, but it still made me feel better thinking that I ran a pretty solid pace.

My splits
The course route and elevation

One thing about a 5-mile race versus a 10-mile race is that friends of all kinds of paces came in a lot sooner! I was able to catch up with a bunch of friends afterward. That really is one of my favorite parts of Crim. I happened to catch Cristian again and congratulated him on his speedy run.

Celebrating with Cristian

I started to drink a bottle of chocolate milk and saved a granola bar for later, but opted out of pizza this year. When I went past the pizza tent at 8:00 and the pizza was already out, I decided right then that it was not for me! I don’t know how long it had already been out and knew it would be another couple hours by the time I got there. The weather may have delayed our start but probably didn’t delay the arrival of the pizzas!

I was chatting with Charles when Sue, an Infinite teammate, came over and asked if I was going to breakfast. Leon had tried to organized a meet-up and people were especially up in the air because of the delayed start. Sue, Charles, and I decided to give it a shot and headed out.

Posing by the blue line (and a big puddle) on the walk back to the car

Only the four of us made it to breakfast at the Westside Diner, which was maybe a 10-minute drive. We had fun hanging out so I’m glad we went.

Our breakfast spot

This year’s race was definitely an experience. Everyone I talked to was adaptable and really didn’t complain though. What can you do when you get a crappy weather day? You just have to adjust and be glad that it wasn’t completely cancelled. It was funny that so many of the people I talked to said they’d have to do a long run the next day since we got cut short. That’s how us runners think! Next year will be the 50th running of the Crim so here’s hoping things turn out much better for that big day. I’m sure I’ll aim to be there for my 10th Crim!

My Crim collection continues to grow

– Janet

Follow me on Instagram @janetboltz