Ultimate Robot Vacuum and Mop Comparison 2025
February 20, 2025Every year, flagship robotic vacuums get more and more advanced, and with new features like dirty water distillation and threshold leaping, this year is no exception. Today I’ve got the latest and greatest robotic vacuums from Roborock, Narwal, ECOVACS, Dreame, and 3i, and I’m going to be putting them up against the best robotic mop from 2024, the eufy S1 Pro to see which ones are worth the extra money. As always, there are no sponsored reviews on this channel.
Vacuuming Performance
First, we’ll test their vacuuming performance on carpet and hard flooring. Then we’ll see how well they mop in a variety of different situations. Then we’ll see how well they deal with pet hair and long human hair. After that we’ll see which vacuums require the least maintenance. We’ll test their object recognition, mapping, and ability to clean where previous generations of robotic vacuums couldn’t, and last, we’ll evaluate their specific apps, smart home integrations, and privacy features.
To test vacuuming performance, I prepared a mixture of 10 grams each of rice, flax seed husks, salt, and flour to simulate different sized dirt and dust and ran each vacuum on their maximum suction power using vacuum only and a two pass cleaning. I weighed the dustbins before and after each cleaning task, and then again after the auto dustbin emptying process and I thoroughly vacuumed with a corded upright between tests.
Starting with the least expensive flagship, the newly released ECOVACS X8 Pro OMNI with an MSRP of $1299. The X8 Pro OMNI did a meticulous vacuuming job with tight overlapping passes. By default, the station is set to high frequency auto empty which returns to the dock after every 30 minutes of cleaning to empty the bin. During the first 30 minutes, the X8 Pro Omni picked up 26.8 grams off the carpet and finished up its run picking up an additional 3.4 grams for a total of 30.2 grams, or 75.5% of the flour, rice, salt, and flax seed mixture cleaned in 45 minutes. After the auto empty process there was 1.8 grams of debris left in the bin.
After that with an MSRP of $1499 and sale prices around $1099, the Narwal Freo Z Ultra is Narwal’s first robotic vacuum with an auto empty dustbin. But compared to the 18,000 pascals of suction on the ECOVACS, the Narwal has just 12,000 pascals. In its 35 minute vacuuming run, the Freo Z Ultra picked up just 14.7 grams or 36.75% of the flour, salt, flax, and rice mixture. However, the new auto empty system worked extremely well and after the auto empty process the Freo Z Ultra had 0 grams left in its dustbin.
Next, also for an MSRP of $1499, and occasional sale prices as low as $999, is the best robotic mop from 2024, the eufy S1 Pro that I’ve been using seven nights a week for the last year for its unmatched hard floor performance. However, high pile carpet is a bit of a struggle for the S1 Pro, with just 8000 pascals of suction. In its 24 minute cleaning session, the eufy picked up just 21.7 grams, or 54.25% of the debris, which is very similar to the 55% that it was able to pick up in last year’s test. After the auto empty process, the S1 Pro had 2.5 grams of debris left in the bin, which was mostly flour trapped in the corners and in the fine particle filter.
For an MSRP of $1599 we’ve got the Roborock Saros 10R, where the “R” distinction refers to the Qrevo-style mopping pads, which are a bit more effective than their VibraRise mopping system from the S series. For vacuuming high pile carpet, the Saros 10R is able to detach and leave those mopping pads at the base. Interestingly, after mapping my house, the Roborock app suggested that I enable the “Raise body to clean carpet” option in the app which said it improves cleaning performance on high pile carpet. In my first testing run, it left the most perfect carpet lines I’ve ever seen, but only cleaned 9 grams of the flour, salt, flax, and rice mixture which is the worst score I’ve ever recorded out of the 42 robotic vacuums I’ve tested, which didn’t feel right. So, I turned off the “Raise Body” feature and reran the test, and this time the Saros 10R picked up 28.8 grams or 72% of the debris in its 21 minute cleaning session which was enough to put it in second place behind the ECOVACS X8 Pro OMNI. So, needless to say, I would not recommend the new “Raise Body” feature, but in both rounds the Roborock had about 1.1 grams of debris left in the bin, which again, was mostly flour caked into the fine filter.
Next with an MSRP of $1699 is the Dreame X50 Ultra with a claimed 20,000 pascals of suction and Dreame’s new DuoBrush system. The X50 cleaned for 35 minutes and picked up 28.7grams, or 71.75% of the flour, salt, flax, and rice mixture, which is almost exactly the same as the Roborock Saros 10R. But it did leave twice as much debris, or 2.2grams, in its dustbin after the auto empty process.
Last, the most expensive vacuum in this video with an MSRP of $1899 but a common sale price around $1499 is the 3i S10 Ultra, which has some pretty incredible features we’ll talk about later. But as for high pile carpet vacuuming performance, the S10 was slightly below average cleaning for 51 minutes and picking up just 20.2 grams or 50.5% of the debris mixture. After the auto empty process, the 3i had by far the most leftover debris in its bin at 4.9 grams.
And that means that overall, the ECOVACS X8 Pro OMNI was in first with the 2nd highest carpet pickup score I’ve ever recorded at 75.5%, and the Roborock Saros 10R and Dreame X50 Ultra were close behind that at around 72%, which is a major improvement from last year’s flagship models.
Next, repeating the same vacuuming test on my LVP hard flooring, again with maximum suction, two pass, vacuum only mode, all of the vacuums performed significantly better. The 3i came out on top, picking up 39.9 grams or 99.75% of the mixture, followed closely by the eufy S1 Pro at 98.5% and the Roborock Saros 10R at 98.25%. The Dreame X50 Ultra and Narwal Freo Z Ultra both picked up 38.6 grams, or 96.5% of the mixture, and surprisingly the ECOVACS X8 Pro OMNI which was the best at carpet cleaning came in last picking up just 36.9 grams or 92.25% of the mixture and had some issues scattering the rice with its side brush.
So that means that for combined vacuuming performance the overall winner was the Roborock Saros 10R, with the Dreame X50 Ultra in 2nd, and the ECOVACS X8 Pro OMNI in 3rd, and all three were slightly better than the top performer from last year’s video the Dreame L10S Ultra.
I also measured the noise level of the vacuums at 3/4 suction power and here they are from quietest to loudest.
Mopping Performance
For mopping performance, I like to simulate a realistic test in my house, which is when wet mud gets tracked in on shoes and feet and then dries on the floor. To simulate this scenario, I spread 10 mL of Florida mud over a 2 ft by 2 ft square and dry it with a hair dryer.
Each vacuum then gets set to maximum water flow, and two passes on a combined mopping and vacuuming run. After each run, I spray the area with two sprays of water and wipe it clean with a paper towel, then set the paper towel aside to air dry, and in between each test I mop the floor with a traditional wet mop and hand dry with a towel.
Last year, the eufy S1 Pro was the first of its kind with a roller-style mop that constantly adds clean water and squeezes dirty water out into an onboard dirty water tank, and it was in a completely different league than the rest of the mops. This year, that roller-style mop has been adopted by both ECOVACS and 3i but with the added ability to extend the entire roller out the side of the robot to increase the coverage area.
In addition to that, Roborock has adopted their Qrevo-style mops into their flagship lineup, which means all these vacuums either have dual spinning pads or the new roller style mops, and compared to last year, they were significantly better.
I thought that the eufy S1 Pro and ECOVACS X8 Pro OMNI did an equally great job, putting them in a tie for first place. The 3i S10 Ultra’s roller style brush did slightly worse but was still very good. The Dreame X50 Ultra was the highest performing of the spinning pad style mops, and the Roborock and Narwal were slightly worse than that but were SO much better than the Roborock S8 and Narwal Freo X Ultra flagships from 2024. Examining the floor with a microscope really shows how close the performance of each of these mops was, with only the smallest amount of dirt visible after the Narwal and Roborock cleaning, while the rest of the floors look spotless.
Another new feature that has been widely adopted is the ability to mop close to edges and in corners by extending the mopping pads and using special movements. To test each edge and corner type, I put a small drop of hot sauce on this small outside corner by my stove, the inside corner under my cabinets, a small edge indentation under my dishwasher, around the leg of a barstool, and an open outside corner on my peninsula and sent each vacuum out on a single pass room cleaning. To score the mopping performance, I gave each vacuum a full point for completely cleaning a stain, half a point for a partial cleaning, and zero points if they missed that stain entirely. The only vacuum to score all five points was the Roborock Saros 10R which liberally used its extending mop pad to clean deep into inside corners and did especially well with outside corners and chair legs.
The ECOVACS extending mop roller was also very effective at cleaning around chair legs, along edges and inside corners, but struggled with outside corners where it mostly just ran its side brush through the stain and then missed it completely with the roller.
When it comes to precise navigation the eufy S1 Pro is extremely good at getting right up to the edge of chair legs and walls without bumping them, but even though its more square shape helps, it lacks an extendable mop which resulted in lots of half points for partial cleaning, and the 3i had the opposite problem where it had all the right tools to clean in the corners, but lacks the precise navigation needed to maneuver around.
I’m not sure what happened with the Dreame X50 Ultra, which seemed like it purposefully tried to clean the stains with its side brush rather than its mop and made the decision to completely skip over the inside corner stain after looking right at it, earning just two and a half total points.
But the Narwal was at the biggest disadvantage because of its circular design and lack of extending mop pads, and it only partially cleaned each stain, and most of the cleaning was done with the side brush rather than the mop pads, which is not a very effective way to clean wet messes.
I also measured the ability for each robot to lift its mopping pads when traveling over carpet and found that all of the vacuums got the edges of the carpet wet when transitioning between the hard floor and the carpet and only the Dreame X50 Ultra, 3i S10 Ultra, and eufy S1 Pro could vacuum my high pile carpet with a retracted wet mop and not get the carpet wet. However, this is becoming a much less common issue because all the apps allow you to manually set a room cleaning order, so you can have them vacuum carpets first before mopping. The Dreame X50 Ultra and Roborock Saros 10R can go one step further and leave their mopping pads at the base station while cleaning your carpets, so the only reason you’d need to use mop lift at all is if you have a carpeted area in between rooms that you want mopped and there’s no alternate route for the robot to take.
Hair Performance
Another big focus this year was on anti-tangle brush rollers, and last year Narwal pioneered a tapered cone shaped brush that is only attached at one side, which means that most hair will travel down the roller and into the suction port instead of getting wrapped and matted. In 2025 both Dreame and Roborock have adopted very similar systems with Dreame opting for a dual tapered roller design with both bristle and rubber rollers called DuoBrush, and Roborock has a sort of single roller design that is cut in half in the middle called DuoDivide.
ECOVACS and 3i have gone in a different but also effective direction with detangling combs inside the roller housing, and the 3i actually rolls its brush in reverse on the dock before auto emptying to dislodge any hair that may have gotten stuck.
For the first test I gave it a very reasonable and realistic task of cleaning up 30 individual strands of real 12” human hair from my bathroom floor and in order to make sure each vacuum had sufficient time to detangle any hairs on their brush I also had them do a single pass clean of my family room carpet afterwards.
Starting with the surprising worst performer, the Narwal Freo Z Ultra had a few hairs stuck in its side brushes, but the biggest issue was that the conical main brush performed mostly like it should have, funneling all the hair down to one end. But instead of going into the dustbin, it just clumped behind the roller and through two separate auto empty processes and a room cleaning the clump of hair just stayed there instead of going into the dustbin.
The eufy S1 Pro also had quite a bit of hair outside the dustbin, but the brush mostly worked as designed, where all the hair eventually got wrapped inside of the cavities on either side of the axel. Those areas just need to be cleaned every 1 to 2 months depending on how much long hair is on your floors.
And the third not so great performance was the 3i S10 Ultra which had a bunch of hair wrapped around its brush roller that wasn’t cleared by the hair removal or auto empty process.
Thankfully the other three vacuums aced this test and the DuoDivide system on the Roborock Saros 10R had one singular hair trapped on the red side of the brush, while both the ECOVACS X8 Pro Omni and Dreame X50 Ultra were completely hair free.
For the second test I was a bit less reasonable and spread 1 gram of synthetic 16” blue hair, and two cotton balls separated into tufts to simulate pet fluff on my high pile carpet and ran each robot on a one pass vacuum only run.
Collecting the uncleaned pet hair tufts and any leftover synthetic hairs on the carpet, the 3i did the best job by far picking up basically all of the synthetic blue hair and leaving only the smallest clump of pet hair. The ECOVACS had a very similar performance with basically all of the hair getting picked up off the carpet. Then it was the Narwal Freo Z Ultra, the Dreame X50 Ultra, the Roborock Saros 10R, and the worst hair pickup performance was from the eufy S1 Pro, but that was only half the story because the next step was to examine the robots themselves to make sure the hair actually made it in the dust bin.
Those results were overall not great, but in this test the Roborock Saros 10R came away with absolutely zero tangles, the Dreame X50 Ultra had zero tangles in the brush, but a small clump on the wheel axel, and the Narwal’s cone shaped brush did the exact same thing that it did in the last test, funneling all the hair to the end of the brush where it clumped and failed to go into the dustbin. The traditional bristle brushes on the ECOVACS and 3i ended up with tangles in the middle of the brush that couldn’t be scraped away by the detangling combs, and the eufy S1 Pro’s rubber brush also had a tangle in the middle but I’m confident it would have eventually migrated into the space by the side axel to be cleaned during routine maintenance.
And that brings me to what I think is one of the most important considerations when buying a flagship robotic vacuum: how often will you need to touch it? The ultimate goal is just to set the schedule and let it do its thing.
Object Avoidance
First and foremost, that means never getting stuck, so to test their object avoidance I set up my living room with an untied pair of shoes, some rubber dog poop, and a long extension cord and sent each vacuum on a one pass vacuum only run. To score their object avoidance I gave them 2 points for completely avoiding an object and 1 point for touching with no catastrophic outcome like getting stuck or running over dog poop.
The best performance was from the Dreame X50 Ultra, which not only properly avoided every object, but correctly labeled them in the app, and kept appropriate distances per detected item.
The eufy S1 Pro also did an excellent job but gave the slightest little nudge to the untied shoes, which I would have liked to see it give a little more room in case the laces were undetectable.
The Roborock Saros 10R properly avoided the poop, but completely ignored the cord, which in all fairness didn’t cause it to get stuck, but it did suck up the laces of the shoe and got stuck off camera.
Based on other reviews, I was expecting the Narwal to be an absolute champion with its dual RGB front facing cameras, but it absolutely didn’t care at all about the dog poop, even though I had selected that there were pets in the house, and it ran directly over both pieces, multiple times for what would have been an absolute poo-pocalypse.
The 3i also completely disregarded the dog poop and sucked it up into the main unit, getting stuck off camera with a jammed brush due to the rubber poop, and despite the front facing RGB cameras the ECOVACS X8 Omni was like a bull in a China shop just plowing through everything indiscriminately.
The next most important thing for not needing to interact with your vacuum is the effectiveness of its auto empty system. Flagship vacuums basically don’t clog anymore, but more powerful and higher suction systems are useful for clearing the fine dust and debris that get stuck in the robot’s filter. So, after each robot had gone through all the same testing and had the same number of auto empties, I measured the weight of the filter before removing any impacted dust. The Narwal Freo Z Ultra was by far the most effective with 0.6 grams of dust in the fine filter with the 3i S10 in a clear second place with just 1.5 grams and the eufy S1 Pro was easily in last with over 8 grams of dust stuck in the fine filter even after a significant number of auto empties.
Mop Maintenance
As for the mopping systems, both the robots and the docks do need some occasional maintenance.
Starting with the robot maintenance, the new roller style mops are awesome because they are constantly cleaning their roller and extracting dirty water into an onboard tank but along with that system comes extra maintenance like cleaning the dirty water debris filter. After using the eufy S1 Pro for a year and the 3i S10 for the last 2 months, I can tell you that the onboard filters will need attention roughly once a month to keep water flowing properly and a good cleaning takes about 5 to 10 minutes. In contrast the spinning pad style mops just need to get occasionally switched out and thrown in the laundry which takes 30 seconds and is much less messy.
The mop cleaning docks also need attention from time to time and the Roborock Saros 10R dock includes automated squeegees to move any debris into the drain, which used to be a feature on the Dreame bases as well, but on the X50 Ultra they’ve moved to a different system with just a coarse drain catch in the back, so I guess they decided the squeegees weren’t necessary.
I also tested the water capacity and the ECOVACS had the largest clean water tank at 4.6 L, and the eufy S1 Pro was the smallest at just 3 L, but I also measured the amount of water used during the 100 square foot mopping test on maximum water usage and the Narwal used by far the most at 1.1 L, the Dreame X50 Ultra and ECOVACS X8 Pro Omni used around 400 mL, the Saros 10R used 32 6mL, the S1 Pro used 188 mL and based on measuring the clean water tank it seems like the 3i S10 Ultra only used 60 mL of water in its entire mopping run.
So, if you do a little extrapolation on that data you can estimate that for a 1000 square foot space on maximum water flow the Narwal Freo Z ultra would need a water change after every single mopping run, the Dreame, Roborock, and ECOVACS could do three runs in between water changes, the eufy S1 Pro could do five cleanings, and the 3i S10 Ultra could do 15. But in actuality, the 3i S10 Ultra, under the right conditions, can do an infinite number of cleanings, which brings me to the next section, which are the new innovative features of a few of these robots.
Unique Features
Starting with the 3i S10 Ultra, which has a unique and pretty incredible solution to the mop water problem. As we calculated, most robotic mops will need their water changed around once a week and while options do exist to plumb your robotic vacuum directly into your drain and water supply, the difficulty of installation is a barrier for most consumers. The 3i on the other hand captures water from the humidity in the air and then distills all of its dirty water to be reused again for mopping, evacuating all of the leftover dirt and debris into the dust bag so there’s never any dirty water to dump out and there’s a constant supply of clean water.
For me, in my house in Florida, the 3i has no problem keeping a full clean water tank since the indoor humidity is generally between 45 and 50%. But capturing water from the already dry air might not be a great idea if you live somewhere like Arizona, Nevada, or Tatooine, and it also comes at the cost of significantly more energy consumption. I measured the energy used to mop my kitchen and bathroom, recharge the robot, and fully dry the mop and I found that the Roborock, ECOVACS, Dreame and Narwal all used a very similar amount of energy around 0.2 kWh, while the eufy used roughly twice that at 0.539 kWh, and the 3i used a staggering 1.343 kWh for its water capture and distillation system. To put those numbers into context, running the 3i every night would use over 40 kWh a month and would cost me roughly $8 a month.
This year’s flagship vacuums are also designed to go where previous vacuums couldn’t, starting with under your furniture. While the Narwal Freo Z Ultra and 3i S10 Ultra still have large top mounted bumps and need around 120 mm clearance.
The ECOVACS X8 OMNI uses a front facing LIDAR system to reduce its overall height, but it’s still pretty tall at 97.3 mm.
The eufy S1 Pro also uses front facing LIDAR and is 6 mm shorter than the ECOVACS at 91.0 mm.
The Dreame X50 Ultra has a unique top mounted LIDAR that it can raise and lower to fit under tight spaces, and with the LIDAR down it has a total height of just 89.4 mm.
But the Saros 10R is by far the shortest at 78.3 mm and thanks to its new StarSight navigation system it also has a good sense of which obstacles it can safely fit under, while the ECOVACS and eufy occasionally get stuck after wedging themselves into tight areas. The Dreame X50 Ultra is a bit reluctant to go under tight spaces, even when they are labeled on the map and the robot is set to “extreme coverage”, so if cleaning under tight spaces is important for you, the Saros 10R is the clear winner.
The next innovation allowing these robots to go where previous vacuums couldn’t is in their threshold climbing ability, and while previous vacuums were limited to threshold sizes of around 20 mm, the Saros 10R claims to be able to clear thresholds up to 40 mm, and the Dreame X50 Ultra can use its ProLeap wheels to cross barriers up to 60 mm.
To test this, I built a few different thresholds with a ramped side and a flat side, identified them properly on each robot’s map, and then tested whether the robot could successfully cross in both directions.
Starting with a 23 mm threshold, which is still pretty tall, every robot was able to cross in both directions without too much difficulty, mostly just using a full speed ramming technique.
Moving up to a 35 mm threshold, the 3i, eufy, Narwal, and ECOVACS didn’t really even try to cross, the Roborock was able to cross the ramped side but got stuck on the flat side, and the Dreame X50 Ultra easily crossed in both directions.
Last, going all the way up to a 47.5 mm threshold, which would be quite the toe destroyer, the Roborock sort of attempted to pass, but didn’t give it a serious effort, while the Dreame X50 Ultra easily passed over the ramped side of the threshold, and amazingly even made it over the 47.5 mm flat side. So, if you’ve got some strange half steps in your floor plan, the Dreame X50 Ultra may be the first robotic vacuum on the market to be able to handle those. I also thought it was pretty cool that you can specifically program a ramp into the X50 Ultra’s map to help it move between levels if you have a single step.
Apps and Smart Home Integrations
That’s a good segue into the final section which are the apps, smart home integrations, and privacy features. All the apps are very good and have improved 10-fold in the last few years, but I think the eufy, 3i, and Narwal apps are designed to be a bit more user friendly and avoid overwhelming people while the ECOVACS, Dreame, and Roborock apps are designed for users who want absolute full control and are filled with dozens of options for things like complex cleaning sequencing, flooring direction, side brush behavior, and clearance limits. I’m not ready to say one approach is better for everyone, but I personally prefer having more control like I do with the ECOVACS, Dreame, and Roborock apps.
I also like to be able to control my robotic vacuum with voice assistants to tell it to clean up a specific room without getting out my phone, and while all the vacuums support Amazon Echo integration, only the Roborock, Dreame, and Narwal support specific room cleaning, as long as you know what to say.
I also tested Google Home integrations and the only one I wasn’t able to get working at all was the Narwal, while the 3i and eufy support on/off commands and the Roborock, Dreame, and ECOVACS Google Home integration support room specific cleaning commands.
The Roborock, Dreame, and ECOVACS also have their own built in voice assistants named Rocky, Dreame and Yiko. In general, I’m not a huge fan of having another always on microphone in my house, but I will say that the ECOVACS YIKO-GPT voice assistant is pretty cool and lets you say things like “clean under the kitchen table” instead of needing to memorize exact commands like you do with Dreame and Rocky.
If you’re a Home Assistant user, the news is surprisingly dire. The Roborock Saros 10R works via the built in Home Assistant integration, but despite ECOVACS also having a built in integration, the X8 Omni isn’t supported. Both Dreame and eufy have custom HACS integrations, but the Dreame integration doesn’t detect the X50 Ultra as a supported model, and the eufy S1 Pro adds itself to Home Assistant, but without any functional entities.
I’m also disappointed to report that we still don’t have any vacuums that work in offline mode and blocking the vacuums from the internet causes all of them to appear offline in their respective apps, even when connected to the same local network.
That’s especially disappointing from a privacy point of view since all of these vacuums also have front facing cameras and all except for the eufy have the option to connect to those cameras via the app and drive the robot around the house. However, I am happy to report that all of the apps except the ECOVACS require a physical button press to initially set up the remote viewing feature, so if someone manages to get the login and password for your account, they won’t be able to turn on the camera remotely if you haven’t previously set it up.
Conclusions
Converting all the results into numeric scores, the Roborock Saros 10R and Dreame X50 Ultra were neck and neck with the Dreame having the advantage of better object recognition and avoidance and better threshold crossing ability while the Roborock was better at edge mopping and had better clearance for cleaning under furniture.
But if you just want the best cleaner, the ECOVACS X8 Pro OMNI had the best mopping, best carpet vacuuming, and best hair pickup and tangle avoidance but had the worst object avoidance score and the worst hard floor vacuuming score, which to be fair was still over 90%.
Lots of people ask me which vacuum I’ll end up using, and despite its shortcomings in power usage, object avoidance, and carpet vacuuming I’m going to continue to use the 3i S10 Ultra because the mopping and hard floor performance is very good and the water reclamation feature is just so convenient as long as you have enough humidity in your house and you can run the water system while you’re sleeping or away, because it is louder than the rest of the bases.
As always there are no sponsored reviews on this channel, but I do have links for all these vacuums below, and as always, I appreciate it when you use those links since as an Amazon affiliate I do earn a small commission on the sale at no cost to you.
Thank you so much to my awesome patrons over at Patreon for your continued support of my channel, and if you’re interested in supporting my channel please check out the links down in the description. If you enjoyed this video, please consider subscribing to my YouTube channel and as always, thanks for watching The Hook Up.
Best Overall Score – Roborock Saros 10R
Smartest Vacuum – Dreame X50 Ultra
- https://amzn.to/4313LMS
- Use code “HookUpX50” for an additional 20% off
Best Cleaning Scores – ECOVACS X8 Pro OMNI
Most Innovative Feature – 3i S10 Ultra
Other Vacuums Tested
- eufy S1 Pro: https://amzn.to/4i9Oyxb
- Narwal Freo Z Ultra: https://amzn.to/4i9ORbj