InsideRide E-Motion SmartPower Rollers with Floating Fork: In-Depth Review


In the indoor training world there are roller people, and there are trainer people. It’s sorta like politics or religion. Fighting with one camp over the benefits is mostly futile. The only people who benefit from such discussions are the social media platforms themselves and ad sales.

But every once in a while there’s a tweak to technology on one side of the DMZ or the other, and a few people defect. For example, the addition of rocker plates and similar rocking technology has swayed some roller people over to the trainer side.  And inversely, with more and more rollers incorporating ‘crash reduction’ concepts into their designs – they’ve stolen a few trainer people away.

But at their core – they’re roughly two different concepts. Like it or not, rollers take more concentration to ride and you can fall of them (can = will, if not paying attention). But they also more correctly simulate the side to side movement of the bike  and body compared to out on the road.

While I’ve toyed with various rollers in the past, I’m just not a roller person. And no amount of telling me why rollers are somehow better is going to change that. I’ve got plenty of things to do in my life, and falling off my bike in my living room and crashing into the TV is not one of them.

However, InsideRide semi-recently introduced the floating fork stand. This concept basically adds a floating fork mount to the front of the roller platform, making it nearly impossible to accidentally fall of the rollers. Yet at the same time preserving much of the motion feel (including front/back/tilt/rotate). Plus all the usual smart trainer type stuff like resistance control for apps such as Zwift & TrainerRoad.

In other words, they made rollers for people who hate rollers.

Sign me up! Maybe.

Oh – and if you want a quick overview of this whole swaying thing, check out the below video:

See, it’s pretty cool, huh?

Understanding the Puzzle Pieces

My focus of the majority of this review is frankly on the front fork stand and smart control pieces. That’s why I’m interested in this device over others. I don’t review non-smart rollers, because that’s not my jam. And heck, I rarely review rollers – as again, also not my jam.

Still, you’ve basically got three ‘pieces’ here that make up the package that is this review. The base of every InsideRide E-Motion rollers kit is the actual rollers themselves. By and large this hasn’t changed much over the years, but that’s not a bad thing. That means that even if you’ve got rollers sitting around from half a decade ago – they’re still totally compatible here:


The base E-Motion rollers can be used as-is, without any extra smart control or fork bits. And in fact, I have used them in the past that way. This main portion costs $ 900, but does incorporate the ‘e-motion’ concept, which means the whole platform slides front and back as you’ll see in the video.

Next, there’s the smart control unit (aka ‘SmartPower’ resistance control unit), which costs $ 365. This little thing attaches next to the most forward of the two rear-wheel rollers, and is what controls resistance on the rollers. In other words, it’s what allows you to replicate a 6% grade or set something like 250%. The limitations on this are 10% max slope and 800w.

The left side of the below image shows the smart control bits, whereas the right side is the floating fork bits.


Installation of the above piece is pretty easy. While the instructions are printed Office Space style, they’re actually super easy to follow – so I won’t hold it against them.


That said, I think it’s in any companies best interest to occasionally higher a graphic design artist (even if on Fiverr) to clean-up stuff like this and present oneself as an option equal to the much larger players.

But again, the install only took a couple minutes – and that’s including taking photos and such along the way:


Finally, we’ve got what is probably my favorite part – the Floating Fork Stand (FFS) – which costs $ 195. Note that while I listed the prices individually, you save $ 30 if you purchase the fork and smart control bits together. There’s no other combo savings at this time for purchasing the other parts. All-in this setup would run you $ 1,345USD if you purchased all three parts.

DSC_4443 DSC_4445

The fork kit is probably the easiest trainer thingamajig I’ve installed in years, and requires no tools at all. Simply remove the two roller walls via a thumb locks using your…well…thumbs, and then connect the fork stand and tighten back up again.


Easy-peasy done. I will note that it’s somewhat odd that the company doesn’t include a fork skewer with it, namely because every other trainer companies does (a rear skewer in their case). I asked why, and they noted it’s something they’ll look at doing going forward.

Speaking of pieces and done – note that InsideRide did send me over all these components to check out for review. But I’ll be (finally) sending everything back to them after I hit publish on this review, leave no tracks and all that. These base rollers have been sitting around the Cave a long time (they were a bit of a nightmare to get over internationally from a shipping cost standpoint), so looking forward to getting back some real-estate. Nothing against them at all, just want to get my plate all cleaned up!

The Basics:


This section we’re going to focus on the tech basics – as if this were any other smart trainer. Because again, my jam.

To begin we’ll start with the power cord side of things. In order to use the smart control bits you’ll need to plug it in. The power supply is dual-voltage, so you can use it anywhere you want. My only complaint is that they apparently subscribe to Elite’s model of choosing the shortest power cables on earth. This one barely reaches the end of the roller length, let alone any other outlets nearby. So you’ll realistically need to use an extension cord or pile of power strips here.


That cord connect to the smart control addition. There’s no power required for the base rollers themselves, only the smart control bits. It’s this small black box that you added as part of the installation:


The box has a few status LED’s atop it, and unlike most trainers these are actually in a useful place to see. I simply look straight down and it’s right at my pedals. Versus some companies place them on the trainers. Who the eff can see re-ward facing status lights while on the bike? That’s like placing a speedometer on the rear bumper of your car. Stupid. In any case – good job InsideRide!


The status lights are as follows:

Red LED: You plugged in the power correctly, congrats!
Blue LED: Solid means it’s paired to a power meter, blinking means it’s looking for a partner
Green LED: Single blink = resistance mode, double blink = ERG (e.g. TrainerRoad), triple = SIM (e.g. Zwift)
Yellow LED’s: These are used for indicating when calibration can occur with a power meter

For most of you, you’re going to be using the ERG or SIM modes the majority of the time, if looking at it from a smart trainer standpoint. You don’t need to know which is which, the apps themselves take care of that (most companies instead show whether apps are controlling via ANT+ or Bluetooth Smart, rather than the type of connection).

We’ll talk all about app connectivity in the next section, fear not.

Back to the rollers themselves though for a moment. You’ll place your bike on the rollers with the fork into the floating fork stand. When you do that your rear tires should align to be evenly seated on the two rear rollers:


If they don’t lineup, they’ve got a super easy notch-based system on the front roller that will move the system front/back. The notches have numbers on them, and make a nice click with each setting, so it’s virtually impossible to get them offset/wonky (unless you can’t count):


This same concept holds true as well if you don’t use the front fork stand, which cool enough is designed such that the wheel alignment holds exactly true with or without front fork stand (since the stand is designed to support the fork at the same point where the wheel would touch the roller). Said another way, you don’t need to tweak anything.

But we need to talk about the front fork stand, because I think that’s the star of the show. Mainly because it means I don’t crash into my my living room TV. Well, actually, here in the studio it means I don’t crash into the stack of beer crates piled up from the open house.


Of course, really, the main point of the FFS is the floating part. It means the whole thing kinda floats around as you ride. Don’t worry, I cover it in my video.

It’s got two settings: Locked and unlocked. I’d start with mounting the bike while locked. It’ll reduce the chance you’ll get a rejected take-off attempt (which is when the FFS uses the alternate acronym meaning and throws you off the bike). Simply twist it to the right one turn:


Next, mount the bike. I will say that there’s definitely a chance of tipping over here depending on where you put your weight. At least for someone tall like me on a tall bike. It’s not a super high chance, but it can happen if you’re not paying attention.


Once on the bike, that’s when I’d recommend reaching down and unlocking the FFS. You can certainly mount the bike with it unlocked – and undoubtedly you’ll get good at it. But to start, I’d recommend keeping it locked. Otherwise it’s like hand-holding two just barely walking toddlers trying to get off a people mover: There’s a high likelihood someone’s going to end up face planting.

You’ll immediately notice that with a single turn of the lock you’re now free-styling it. The fork will twist left and right, which in turn means your handlebars and bike go along with it. For such a simple action it’s a bit of a wild respond (in a good way):


With that twist the bike can also tilt as well. Technically speaking your fork isn’t actually tilting at all, but rather due to the rotational aspect of the fork mount, it means your bike will tilt – which is cool.


This also gives your rear wheel the freedom to move a bit as well. Not dramatically, but just enough that the whole system (rear wheel, front fork, and the bike itself) now can tilt, lean and otherwise jiggle.


In other words: A rocker plate without a rocker plate.

Or, said differently: Rollers without falling off.

Well, at least not falling off easily.

Yes, you can fall off these (with the FFS unlocked) if you don’t pay attention at all and then turn to catch a football that someone has kicked at you unexpectedly.  With locked it’d be near impossible to fall off unless you’re reaching for a pizza box on a chair at knee level off to the side. But if you’re the type that wants to use their phone to control Zwift or another app, there’s no issues doing so with the front fork stand unlocked (active). Whereas regular rollers requires a bit of skill.


I think the floating fork mount is really the star of the show here. It’s what pulls this entire thing together as a viable alternative for people that want movement but don’t want to fall of rollers. But even more so, InsideRide thinks it has applications beyond their own rollers. In fact, they’ve been starting to test a family of products that allow you to take existing trainers (like a KICKR) and put them on a small individual base with a separated front fork mount kit.

I’ve seen photos of the setup with a KICKR and it looks nice and compact, but they’ve asked not to publish those photos at this time. I have not tried it though to see whether it continues to accurately replicate the sprint behavior like traditional rollers would, or if it inverts it like most rocker plates do.  More on that down the road once I can try some.

And that’s a good point to wrap up on: I see the value in the front fork stand (beyond not falling off) in the subtle movement aspect. Just like the CycleOps platform or any other rocker plate. While most of those platforms get the side to side movement (especially in sprints) wrong compared to out on the road, they do get subtle movement right.

And that small amount of saddle (and butt to saddle) movement in turn is what makes long trainer sessions viable. Having a hard static trainer without any flex is much harder on the body than the gentle side to side swaying.  The core difference with the InsideRide setup with the FFS is that it also gets the sprint movement correct (you can see this in the video).

App Compatibility:


This section is only applicable if you’ve installed the SmartPower control unit. Then again, that’s really true of this entire review.

The SmartPower control kit that we installed earlier in the review is what broadcasts over ANT+ & Bluetooth Smart to trainers. Though, it doesn’t quite nail all the same standards as most companies. Instead, they’ve only implemented the control protocols, and not the regular ANT+/Bluetooth Smart power/speed/cadence variants. Here, let me explain.

The below are what InsideRide has implemented today:

ANT+ FE-C Control: This is for controlling the trainer via ANT+ from apps and a few head units. Read tons about it here.

Bluetooth Smart FTMS Control: This is for controlling the trainer via Bluetooth Smart from apps. It’s basically the same as FE-C, except for Bluetooth instead.

The above are the two core options for controlling smart trainers these days, and are industry standards. To be clear, InsideRide has implemented both of those today in the products and they work great for apps that support them (which is all the apps you care about). They transmit power and speed to those apps (no cadence though), and let those apps control them.

However, what they haven’t implemented is regular ANT+ & Bluetooth Smart power broadcasting. This matters if you have a watch or bike computer that you want to connect to the InsideRide unit to. For example, let’s say you’ve got a Polar watch and you want to capture power data so you can get proper training load and recovery metrics. Or the same is true of Garmin devices. You can’t do that on the InsideRide unit.

Typically, most companies also transmit the following (or at least the power meter ones):

ANT+ Power Meter Profile: This broadcasts as a standard ANT+ power meter
ANT+ Speed/Cadence Profile: This broadcasts your speed and cadence as a standard ANT+ Speed/Cadence combo sensor
Bluetooth Smart Power Meter Profile: This broadcasts as a standard BLE power meter
Bluetooth Smart Speed/Cadence Profile: This broadcasts your speed and cadence as a standard BLE combo Speed/Cadence sensor

All companies except Wahoo transmit cadence these days, though I can see why doing the cadence calculation/estimation on the InsideRide units would be more challenging for them. So I’ll give them a pass for now (Wahoo does not get a pass – especially in 2019, thank you for asking).

After asking InsideRide, it sounds like they’ll look at enabling those down the road. They’re honestly the easiest and most trivial thing for InsideRide to add/fix on their platform (a heck of a lot simpler than implementing FE-C and FTMS that they’ve already done). So hopefully it’s a quick item to do.

In my testing of the platform I used both Zwift and TrainerRoad. Though, they do also have their own app which allows you to do some structured workouts there as well as checking of various settings (iOS & Android):

2019-08-19 13.49.32 2019-08-19 13.48.53

In addition, the app is where you can pair a power meter. While the InsideRide smart control unit does transmit power via FE-C/FTMS, as you’ll see in the power meter section…it’s not terribly accurate. They strongly recommend using a power meter instead. We’ll get to my thoughts on that in a moment, but first, to pair a power meter you’ll just tap the ‘pair’ button, which will go out and find a power meter and pair it to your trainer:


There’s no control over which power meter it chooses, so don’t try this if you’ve got other trainers or bikes in the room at the time of pairing. It will show you the ANT+ ID of the paired power meter, so you know which unit it paired to. And, once paired the blue LED light on the control unit will stay illuminated.


At that point it’ll use the power from your power meter to control the rollers (and thus discard the rollers own power estimation). They (and I) strongly recommend you use their power matching functionality over app-based functionality (such as that in TrainerRoad or other apps). This is because there’s no latency at all with the built-in InsideRide functionality, versus numerous users have reported challenges using 3rd party app functionality for power matching. And, as I general rule I don’t recommend using app based power matching functionality.

For me, in my testing, I used Zwift and TrainerRoad as my two main apps (which are the two main apps I use personally).  In the case of Zwift, I used it in regular riding mode (non-workout mode), whereas in the case of TrainerRoad I used it in a structured workout mode.  I dig into the nuances of these both within the power accuracy section.

Here you can see the rollers paired in TrainerRoad, showing up as a Bluetooth Smart resistance controllable FTMS trainer, since I’m on an iPad:

2019-08-19 13.50.23

And here’s the same unit paired in Zwift, again, showing up a resistance controllable unit:

2019-08-20 19.08.34

From a ride feel standpoint, it doesn’t have as much inertia as most smart trainers in the same price bracket (or above about $ 700 these days). It’s not bad, but as smart trainers have advanced in recent years, the road-like feel (which is really another way of saying the inertia) has improved. So the road-like feel in Zwift for example is ‘OK’ on the InsideRide unit. Not bad, but not great either for the price. It’s a bit more akin to some of the $ 500-$ 600 wheel-on trainers like an older Elite Rampa, rather than the higher end trainers that this would be competing on.

2019-08-15 18.20.52

Similarly, sounds is roughly in the same ballpark as a wheel-on trainer, probably a bit louder. After all, if using the front fork stand you’ve still got two rollers in the back supporting the rear wheel. That’s basically double your wheel-on sound volume over a single-roller design of a typical smart trainer. It’s not horrific, but it’s definitely not quiet. You’re not buying this design for quiet. You’re probably buying it for your garage.

Power Accuracy Analysis:


As usual, I put the trainer…err…rollers up against a number of power meters to see how well it handled everything from resistance control accuracy, to speed of change, to any other weird quirks along the way. My general philosophy on trainer accuracy testing is to see how power accuracy handles across a wide variety of scenarios in the two main trainer modes:

ERG Mode: Used in structured workouts where a given wattage is set (I.e. 250w)
SIM Mode: Used for apps replicating grades, like Zwift, such as 3%

In addition to that, I often vary the specific protocols used, both ANT+ & Bluetooth Smart, often dual-recording on both sides, as I have seen (surprisingly often over the years) cases where data is different on different protocols, or otherwise dorked up when using one versus the other.

Remember that trainers are typically the ‘lowest’ item in the wattage totem pole, and thus should *always* be the lowest wattage out of all the power meter data points. Typically I aim for about 1-3% lower than a pedal based power meter, depending on where things are and how clean they are.

I’ve written a massive post on power meter and trainer power accuracy testing here, including way more details on how to troubleshoot your own issues (power, not life). Dig on in!

In my case I used two different bike setups that I have in my stable:

Canyon Bike Setup #1: 4iiii Precision Pro  (dual-crank arm variant), Garmin Vector 3
Canyon Bike Setup #2: PowerTap G3 hub, Quarq DZero crank spider, Garmin Vector 3

In my case, I was looking to see how it reacted in two core apps: Zwift and TrainerRoad.  The actual apps don’t much matter (usually), but rather the use cases are different.  In Zwift in SIM mode you get variability by having the road incline change and you being able to instantly sprint.  This reaction time and accuracy are both tested here.  Whereas in TrainerRoad I’m looking at its ability to hold a specific wattage very precisely, and to then change wattages instantly in a repeatable way.  There’s no better test of that than 30×30 repeats (30-seconds at a high resistance, followed by 30-seconds at an easy resistance).

Let’s first start with the InsideRide system doing all its own power bits. Meaning, no power meter is paired to it, nor had I ever paired one to it. That’s important, because once you pair to it it’ll do a bit of a calibration sequence against it. In my opinion that wouldn’t replicate what a person at home without a power meter would see. So again, pre-power matching here.

2019-08-16 12.53.59

In this case the trainer was set to hold 30×30’s at 406w for the 30-seconds high, and then reduce down to about 150w. Rinse and repeat. I do this with every trainer. Here’s what accuracy looked like in that data set (blue line is InsideRide):



So what’s wrong? Well, it’s not truthfully reporting power. It’s just reporting what it thinks it’s set on, which is clearly incorrect. That’s why the little blue line is so perfect looking on each interval:


It’s sorta like Wahoo’s ERG smoothing option that’s enabled by default. It doesn’t actually show the real power, but rather what it says the power should be. That’s kinda useless, as you can see above – because it’s not at all accurate, and doesn’t account for the whole human rider bit. It makes it look like you nailed every set perfectly, even when you were above/below the actual power.

Now I’ve had some discussions with InsideRide about this, and I think it’s best to summarize it as ‘We’ll just have to agree to disagree’. Here’s how they describe it:

“We are definitely not displaying the power set point. The algorithm monitors input speed and adjusts the servo constantly. You can see it on the app as the ERG resistance number continuously reacts to speed to maintain it’s wattage target. But the fact is, although the servo response is instant, it doesn’t include any inertial component. That’s the main reason it displays a smooth line.”

When I point out that other trainers handle this separation just fine, they detailed that too:

“We display estimated power instantly as the servo moves, resulting in a nearly straight line. For us, estimated power is a technical term indicating the servo has responded to maintain a constant wattage target. That’s all we got. It can’t know actual power, and doesn’t include inertial forces either.“

Ok, that’s fine – but at present it’s just not accurate. No matter how we slice it or rename it – the broadcast value isn’t what you’re actually outputting (I’d also point out that in SIM mode, this problem seems to disappear in that it responds with actual power estimated values instantly, even if they’re incorrect).

So what happens if we enable power matching on the InsideRide unit itself? Ask and you shall receive!

In this case I used the power matching option within the InsideRide resistance unit to connect directly to my Quarq power meter. It then used that value for resistance changes. As you can see, it’s a world of difference:


The lines are near perfect against the Quarq DZero, Garmin Vector 3, and PowerTap G3. You do however see a tiny bit of latency in some intervals for the reported power to TrainerRoad. This is some of the delay I mentioned – usually within 1-2 seconds.

But you’ll notice that gone are the fake-straight lines, and in turn is the nuances of my body pedaling.


One minor thing to note is that the unit was unable to achieve the power (390w) in this first interval below, but instead landed on 350w. Why?



Not enough speed to generate the required resistance.

It’s a rare problem these days, with most trainers in this price bracket easily able to achieve 2,000w+, but the InsideRide unit tops out at 800w (more than enough for me most of the time). However a key factor in that is the speed of the system. So to solve that simply shift gears. It won’t change anything in ERG mode, except allowing it to hit the higher wattages.

So you want the small ring in the front, and the small ring in the back too. Call it Mr. Smalls.

Next, let’s switch over to Zwift. For this route I did the dessert to Titans forest loop, which is quickly becoming my new standard for trainer testing in SIM mode. It starts off on the flats, and then climbs into the rolling hills for some very fast responsiveness stuff. But really, for the most part that won’t matter for accuracy, rather responsiveness (which the InsideRide system is actually really good at).

But on the accuracy side, you can see it’s often 20-40w out of alignment in regular riding, and much further in sprints. The below data is smoothed as well (5s smoothing), which makes it look slightly better than it is. Here’s that data set:


For example, you can see in this sprint (smoothed in this case at 2-seconds), that the InsideRide unit overshoots by approximately 100w over the Vector 3 & 4iiii power metes. And even upon returning post-sprint, it’s considerably higher. Though, pre-sprint it was actually reasonable.


And when I remove smoothing altogether (this is all post-ride smoothing in the graphs), you can see there’s some variance there with power spikes occasionally where there is no power spike:


You can see how some of these are almost ‘aftershocks’ following the actual power surge. I suspect there may be an element here of speed dissipation that it’s not accounting for in some cases.

Now again, responsiveness of the unit for both ERG mode and SIM mode without power matching is very fast. Though speed of responsiveness does seem to lag once I enable power matching on the unit itself (roughly a 1-2s delay when I tested it, depending on scenarios).

The challenge for my is the accuracy bits sans-power meter. So sure, if you have a power meter that you trust, then go ahead and match it up with the app and call it done. But if you don’t have a power meter, I wouldn’t train by the numbers given here. I don’t think they’re accurate enough.

While the company does support two calibration methods, both effectively require a power meter (or just estimating your power). They don’t have an actual spin-down mode like most wheel-on trainers (and even direct drive trainers) do these days. The reason likely stems from the fact that doing a spin-down to zero on a set of rollers is very difficult (without touching anything, which would impact accuracy). However, with the floating fork stand they should be able to execute that quite well. Hopefully that’s something they’ll consider.

(Note: All of the charts in these accuracy portions were created using the DCR Analyzer tool.  It allows you to compare power meters/trainers, heart rate, cadence, speed/pace, GPS tracks and plenty more. You can use it as well for your own gadget comparisons, more details here.)

Product Comparisons:

I’ve added the smart-enabled variant of the InsideRide rollers into the product comparison database.  This allows you to compare it against other trainers I’ve reviewed.

I don’t have any other rollers in there today, but I’m going to compare it against other smart trainers in this price bracket. Because that’s what real consumers are doing.  Keep in mind that Eurobike is exactly two weeks away – so purchasing a trainer now would be considered a poor fiscal maneuver. As always.

In any case, here’s how things line up with that tier of trainers in the ~$ 1,200 price bracket:

Function/Feature InsideRide E-Motion SmartPower Rollers Tacx NEO 2 Smart Wahoo KICKR 2018 CycleOps H2 (Hammer 2) Elite Drivo II
Copyright DC Rainmaker – Updated August 20th, 2019 @ 12:31 pmNew Window Expand table for more results
Price for trainer $ 1,200 (Rollers + Smart Control) $ 1,399 $ 1,199 $ 1,199USD $ 1,199
Attachment Type Rollers Direct Drive (no wheel) Direct Drive (No Wheel) Direct Drive (no wheel) Direct Drive (no wheel)
Power cord required Yes No Yes Yes Yes for broadcast, no for general use
Flywheel weight Simulated/Virtual 125KG 16lbs/7.25kgs 20lb/9kg 13.2lbs/6kg
Includes motor to drive speed (simulate downhill) No Yes No No No
Maximum wattage capability 800w 2,200w @ 40KPH 2,200w @ 40KPH 2,000w 2,296w @ 40KPH / 3,600w @ 60KPH
Maximum simulated hill incline 10% 25% 20% 20% 24%
Measures/Estimates Left/Right Power No Yes No No 9EUR one-time fee
Can rise/lower bike or portion thereof No No With KICKR CLIMB accessory No No
Can directionally steer trainer (left/right) Rotates, but not transmitted to apps With accessory No No No

Don’t forget you can mix and match your own trainer product comparison tables using the database here.



As I noted at the outside of this review, I’m just not a rollers guy. But that doesn’t mean I don’t like what InsideRide is doing. In fact, I think they’re really onto something with their floating fork stand in terms of movement of the bike – be it major movement like sprinting or minor more subtle movement. It fall feels good – that casual swaying and such as you ride along.

If they can execute upon that movement into the non-roller scene with an accessory for regular smart trainers that mimics movement more realistically, that could be a huge thing for the company. But again, I need to see/try it in person to see if that’s the case. So that’s another thing for another day.

My main issue with the current setup though is simply that the power is inaccurate. My expectation is that when if I were to spend $ 1,200 that I would get accurate power meter data. That’s true of every trainer on the market in that price bracket today, as well as easily down to $ 600. Below $ 600 I get +/- 5% in most cases, compared to the +/- 10% here with InsideRide. To me, that’s a really tough pitch and doesn’t match to my price to features time-space continuum.

Still, I’m interested in seeing where InsideRide can take things from here – be it improvements within the existing SmartPower system on the rollers they have, or expansion into the greater accessory market for the hundreds of thousands of high end smart trainers sold each year. The world’s their oyster, now it’s up to them to crack it. Or something like that.

With that – thanks for reading!

Product Reviews – DC Rainmaker

Leave a Reply