×
AWS establishes new German corporate presence to advance European sovereign cloud | TechCrunch

AWS establishes new German corporate presence to advance European sovereign cloud | TechCrunch

Amazon Web Services (AWS), Amazon’s cloud computing division, is forming a new parent company and three subsidiaries in Germany as part of a sovereign cloud the company is launching in the European Union.

AWS VP Kathrin Renz will serve as managing director of AWS’ German corporate parent, which will also be led by EU-based “government security and privacy official[s],” according to Amazon. The German company will oversee the aforementioned new sovereign cloud, the AWS European Sovereign Cloud, which is scheduled to launch by the end of 2025.

“Everything needed to operate the AWS European Sovereign Cloud is in the EU,” wrote AWS in a blog post. “In addition to independent infrastructure, there will be zero operational control outside of EU borders; only AWS employees, residing in the EU, will control day-to-day operations, including access to data centers, technical support, and customer service for the AWS European Sovereign Cloud.”

A growing number of tech giants and cloud providers, including Amazon rivals Microsoft and Google, offer European sovereign cloud, or data residency, programs. These help customers comply with European local privacy and data protection laws like the GDPR and Germany’s Federal Data Protection Act.

AWS announced in May 2024 that it would invest €7.8 billion (roughly $8.8 billion) to build the AWS European Sovereign Cloud in Germany through 2040, with the first cloud “region” to go live in the State of Brandenburg.

The AWS European Sovereign Cloud will feature infrastructure located within the EU and operated independently from AWS’ existing cloud computing regions, according to Amazon. Customers using it will be able to keep their data and metadata — including the configurations they use to run AWS — in the EU to comply with applicable laws and regulations, Amazon says.

In addition to the new corporate presence in Germany, AWS says that it’s establishing an advisory board made up of EU citizens and a dedicated European security operations center.

“[W]e’ve designed the AWS European Sovereign Cloud to address European digital sovereignty requirements while maintaining the services portfolio, security, reliability, and performance that customers expect from AWS,” Renz said in a statement. “Our investment in the AWS European Sovereign Cloud reinforces our commitment to Europe’s digital future.”

Amazon has found itself in the crosshairs of European regulators before for failing to comply with EU competition and data privacy rules.

In 2021, Luxembourg’s data watchdog slapped Amazon with a then-record €746 million (around $849 million) fine for allegedly processing user data for targeted advertising without seeking people’s consent. And in 2022, AWS settled an EU antitrust probe into how it allegedly abused rivals’ sales data to unfairly favor its own products.

Source link
#AWS #establishes #German #corporate #presence #advance #European #sovereign #cloud #TechCrunch


Johannes Heidecke, the Head of Safety Systems at OpenAI, is leaving. I know what you’re thinking: Hey, didn’t the head of safety at OpenAI just leave?

In fact, it feels like a head of safety at OpenAI is pretty much always leaving. Working in safety leadership—loosely defined—at OpenAI is a little like working as a drummer in the band Spinal Tap; lots of turnover. I’m not the world’s premier OpenAI Kremlinologist, so I might be missing some details and nuance, but here’s my basic timeline:

According to Wired, those previously reporting to Heidecke’s safety teams will be led by Mia Glaese, who is a VP, and also the head of alignment. However, there does seem to be an other replacement for Heidecke, according to Wired. Saachi Jain, former leader of safety teams, will now be an “interim head of safety systems” under Glaese.

What exactly keeps happening inside OpenAI’s offices is anyone’s guess, but OpenAI research chief Mark Chen did at least give Wired a hint, saying, “The demands on safety continue to increase—we are training models at a much faster cadence, and release cycles have come down greatly in turn,” and added, “As a result, we have bigger coordination challenges around safety today than ever before.”

The generous reading is that this is still an immature industry. The points along the chain where safety considerations are needed genuinely may keep jumping around as OpenAI figures out how best to build its products. Perhaps today’s sensible safety test procedure is tomorrow’s unnecessary bottleneck.

And there’s no actual direct evidence for a less generous reading of Heidecke’s departure—for instance, one in which any such consideration is a post-hoc rationalization for a pruning of safety procedures in service of faster product rollouts.

#Safety #Leader #OpenAI #Leftai alignment,AI safety,OpenAI">Yet Another Safety Leader at OpenAI Has Left
                Johannes Heidecke, the Head of Safety Systems at OpenAI, is leaving. I know what you’re thinking: Hey, didn’t the head of safety at OpenAI just leave? In fact, it feels like a head of safety at OpenAI is pretty much always leaving. Working in safety leadership—loosely defined—at OpenAI is a little like working as a drummer in the band Spinal Tap; lots of turnover. I’m not the world’s premier OpenAI Kremlinologist, so I might be missing some details and nuance, but here’s my basic timeline:  According to Wired, those previously reporting to Heidecke’s safety teams will be led by Mia Glaese, who is a VP, and also the head of alignment. However, there does seem to be an other replacement for Heidecke, according to Wired. Saachi Jain, former leader of safety teams, will now be an “interim head of safety systems” under Glaese. What exactly keeps happening inside OpenAI’s offices is anyone’s guess, but OpenAI research chief Mark Chen did at least give Wired a hint, saying, “The demands on safety continue to increase—we are training models at a much faster cadence, and release cycles have come down greatly in turn,” and added, “As a result, we have bigger coordination challenges around safety today than ever before.”

 The generous reading is that this is still an immature industry. The points along the chain where safety considerations are needed genuinely may keep jumping around as OpenAI figures out how best to build its products. Perhaps today’s sensible safety test procedure is tomorrow’s unnecessary bottleneck.

 And there’s no actual direct evidence for a less generous reading of Heidecke’s departure—for instance, one in which any such consideration is a post-hoc rationalization for a pruning of safety procedures in service of faster product rollouts.      #Safety #Leader #OpenAI #Leftai alignment,AI safety,OpenAI

working as a drummer in the band Spinal Tap; lots of turnover. I’m not the world’s premier OpenAI Kremlinologist, so I might be missing some details and nuance, but here’s my basic timeline:

According to Wired, those previously reporting to Heidecke’s safety teams will be led by Mia Glaese, who is a VP, and also the head of alignment. However, there does seem to be an other replacement for Heidecke, according to Wired. Saachi Jain, former leader of safety teams, will now be an “interim head of safety systems” under Glaese.

What exactly keeps happening inside OpenAI’s offices is anyone’s guess, but OpenAI research chief Mark Chen did at least give Wired a hint, saying, “The demands on safety continue to increase—we are training models at a much faster cadence, and release cycles have come down greatly in turn,” and added, “As a result, we have bigger coordination challenges around safety today than ever before.”

The generous reading is that this is still an immature industry. The points along the chain where safety considerations are needed genuinely may keep jumping around as OpenAI figures out how best to build its products. Perhaps today’s sensible safety test procedure is tomorrow’s unnecessary bottleneck.

And there’s no actual direct evidence for a less generous reading of Heidecke’s departure—for instance, one in which any such consideration is a post-hoc rationalization for a pruning of safety procedures in service of faster product rollouts.

#Safety #Leader #OpenAI #Leftai alignment,AI safety,OpenAI">Yet Another Safety Leader at OpenAI Has LeftYet Another Safety Leader at OpenAI Has Left
                Johannes Heidecke, the Head of Safety Systems at OpenAI, is leaving. I know what you’re thinking: Hey, didn’t the head of safety at OpenAI just leave? In fact, it feels like a head of safety at OpenAI is pretty much always leaving. Working in safety leadership—loosely defined—at OpenAI is a little like working as a drummer in the band Spinal Tap; lots of turnover. I’m not the world’s premier OpenAI Kremlinologist, so I might be missing some details and nuance, but here’s my basic timeline:  According to Wired, those previously reporting to Heidecke’s safety teams will be led by Mia Glaese, who is a VP, and also the head of alignment. However, there does seem to be an other replacement for Heidecke, according to Wired. Saachi Jain, former leader of safety teams, will now be an “interim head of safety systems” under Glaese. What exactly keeps happening inside OpenAI’s offices is anyone’s guess, but OpenAI research chief Mark Chen did at least give Wired a hint, saying, “The demands on safety continue to increase—we are training models at a much faster cadence, and release cycles have come down greatly in turn,” and added, “As a result, we have bigger coordination challenges around safety today than ever before.”

 The generous reading is that this is still an immature industry. The points along the chain where safety considerations are needed genuinely may keep jumping around as OpenAI figures out how best to build its products. Perhaps today’s sensible safety test procedure is tomorrow’s unnecessary bottleneck.

 And there’s no actual direct evidence for a less generous reading of Heidecke’s departure—for instance, one in which any such consideration is a post-hoc rationalization for a pruning of safety procedures in service of faster product rollouts.      #Safety #Leader #OpenAI #Leftai alignment,AI safety,OpenAI

Johannes Heidecke, the Head of Safety Systems at OpenAI, is leaving. I know what you’re thinking: Hey, didn’t the head of safety at OpenAI just leave?

In fact, it feels like a head of safety at OpenAI is pretty much always leaving. Working in safety leadership—loosely defined—at OpenAI is a little like working as a drummer in the band Spinal Tap; lots of turnover. I’m not the world’s premier OpenAI Kremlinologist, so I might be missing some details and nuance, but here’s my basic timeline:

According to Wired, those previously reporting to Heidecke’s safety teams will be led by Mia Glaese, who is a VP, and also the head of alignment. However, there does seem to be an other replacement for Heidecke, according to Wired. Saachi Jain, former leader of safety teams, will now be an “interim head of safety systems” under Glaese.

What exactly keeps happening inside OpenAI’s offices is anyone’s guess, but OpenAI research chief Mark Chen did at least give Wired a hint, saying, “The demands on safety continue to increase—we are training models at a much faster cadence, and release cycles have come down greatly in turn,” and added, “As a result, we have bigger coordination challenges around safety today than ever before.”

The generous reading is that this is still an immature industry. The points along the chain where safety considerations are needed genuinely may keep jumping around as OpenAI figures out how best to build its products. Perhaps today’s sensible safety test procedure is tomorrow’s unnecessary bottleneck.

And there’s no actual direct evidence for a less generous reading of Heidecke’s departure—for instance, one in which any such consideration is a post-hoc rationalization for a pruning of safety procedures in service of faster product rollouts.

#Safety #Leader #OpenAI #Leftai alignment,AI safety,OpenAI

Image may contain Adapter Electronics Escooter Transportation and Vehicle

Photograph: Chris Null

Naturally, the AstroRinse also needs a power supply, so if you don’t have a standard electrical outlet near your hose spigot, you’ll need another extension cord solution here. The unit must be level to run properly, and it features adjustable feet and a built-in spirit level to help you achieve that.

All told, you’ll need to carefully consider where you’re going to place the AstroRinse, ensuring you have access to water, power, and drainage—and that the location isn’t too far from the pool. Since the AquaSense X robot itself weighs 29 pounds (and more when freshly pulled from the water), you probably don’t want to haul the thing halfway across the yard to clean and charge it. Unfortunately, given the availability of the above three services in my backyard, that’s exactly what I had to do.

A Familiar Friend in the Water

The Beatbot AquaSense X robot is nearly identical in appearance to the Beatbot AquaSense 2 Ultra except for some changes to the basket design (which is a single piece here instead of two). Setting it up is far simpler than the AstroRinse.

Physical configuration involves installing two side brushes—these are used only by the skimmer function—but this is a fairly quick affair. Once the brushes are attached, the robot must be set on top of the AstroRinse cleaner so the two devices can be wirelessly paired together. (The quick start guide lays out the particular button presses you must do to complete this process; don’t lose it.) Lastly, the system must then be paired to the Beatbot mobile app; you’ll need Bluetooth and a 2.4 GHz or 5 GHz Wi-Fi connection to complete this task. One tiny hiccup I encountered: After completing all this work, both devices downloaded firmware updates, which promptly broke their pairing connection. It was easy to reestablish, however, by simply repeating the pairing process.

Video: Chris Null

After a full charge, I put the cleaner through its paces in the pool on both the floor and the surface, and as expected, I saw no real difference in performance against the AquaSense 2 Ultra. During floor testing with both organic and synthetic debris, the device picked up an average of 97 percent of the test material, doing exceptionally well on steps and platforms. On the surface, the unit was predictably middling to awful, collecting less than half of floating debris and sinking most of the rest. The unit is just too slow to collect much material on the surface, even though its spinning side brushes help, to a small extent, to pull leaves into its maw.

On the floor of the pool, maximum running time is about 41/2 hours, courtesy of a 13,400 mAh battery—the same as the battery on the AquaSense 2 Ultra.

Image may contain Electronics Mobile Phone Phone and Text

ScreenshotBeatbot app via Chris Null

As with other AquaSense robots, a bevy of operating modes are available in the Beatbot app, letting you choose from dozens of potential combinations of floor, wall, waterline, and surface cleaning, each with up to two runs per zone and with various running times. An AI Quick Mode activates the onboard camera to allow the robot to actively search for debris instead of encountering it randomly; it’s good for a quick clean when there’s not much to pick up but more than you can easily fetch with a net.

Again, not much of this is any different from how the AquaSense 2 Ultra behaves, and aside from the poor surface performance, it works outstandingly well.

Charging and Cleaning

On to the main event: cleanup. After each run, the AquaSense X parked itself at the waterline to await retrieval, and I dutifully lugged it across the pool deck to where I had the AstroRinse station set up. While it can take a little trial and error to get the robot seated in just the right spot, once you do, the cleaning system kicks in automatically within a few seconds.

Video: Chris Null

As the rinsing system starts up, the top-mounted arm swings into place and connects with the mouth the robot uses for surface skimming. Then, a high-pressure stream of water (sounding quite loud) begins blasting from the arm and into the filter basket, which is positioned directly below this opening. The water spray runs uninterrupted for three minutes before the arm swings back and the system shuts off. (A quick mode, which runs for one minute, can also be selected in the app.) After that, the arm retracts and the unit is done. Debris is captured in a net-covered basket built into the base of the cleaning station. Any remaining water drains out through a mesh screen at the very bottom of the unit.

Image may contain Car Transportation and Vehicle

Photograph: Chris Null

#Pool #Robot #Cleans #Pooland #Cleansshopping,review,reviews,robots,home,outdoors">This Pool Robot Cleans the Pool—and Then Cleans ItselfPhotograph: Chris NullNaturally, the AstroRinse also needs a power supply, so if you don’t have a standard electrical outlet near your hose spigot, you’ll need another extension cord solution here. The unit must be level to run properly, and it features adjustable feet and a built-in spirit level to help you achieve that.All told, you’ll need to carefully consider where you’re going to place the AstroRinse, ensuring you have access to water, power, and drainage—and that the location isn’t too far from the pool. Since the AquaSense X robot itself weighs 29 pounds (and more when freshly pulled from the water), you probably don’t want to haul the thing halfway across the yard to clean and charge it. Unfortunately, given the availability of the above three services in my backyard, that’s exactly what I had to do.A Familiar Friend in the WaterThe Beatbot AquaSense X robot is nearly identical in appearance to the Beatbot AquaSense 2 Ultra except for some changes to the basket design (which is a single piece here instead of two). Setting it up is far simpler than the AstroRinse.Physical configuration involves installing two side brushes—these are used only by the skimmer function—but this is a fairly quick affair. Once the brushes are attached, the robot must be set on top of the AstroRinse cleaner so the two devices can be wirelessly paired together. (The quick start guide lays out the particular button presses you must do to complete this process; don’t lose it.) Lastly, the system must then be paired to the Beatbot mobile app; you’ll need Bluetooth and a 2.4 GHz or 5 GHz Wi-Fi connection to complete this task. One tiny hiccup I encountered: After completing all this work, both devices downloaded firmware updates, which promptly broke their pairing connection. It was easy to reestablish, however, by simply repeating the pairing process.Video: Chris NullAfter a full charge, I put the cleaner through its paces in the pool on both the floor and the surface, and as expected, I saw no real difference in performance against the AquaSense 2 Ultra. During floor testing with both organic and synthetic debris, the device picked up an average of 97 percent of the test material, doing exceptionally well on steps and platforms. On the surface, the unit was predictably middling to awful, collecting less than half of floating debris and sinking most of the rest. The unit is just too slow to collect much material on the surface, even though its spinning side brushes help, to a small extent, to pull leaves into its maw.On the floor of the pool, maximum running time is about 41/2 hours, courtesy of a 13,400 mAh battery—the same as the battery on the AquaSense 2 Ultra.ScreenshotBeatbot app via Chris NullAs with other AquaSense robots, a bevy of operating modes are available in the Beatbot app, letting you choose from dozens of potential combinations of floor, wall, waterline, and surface cleaning, each with up to two runs per zone and with various running times. An AI Quick Mode activates the onboard camera to allow the robot to actively search for debris instead of encountering it randomly; it’s good for a quick clean when there’s not much to pick up but more than you can easily fetch with a net.Again, not much of this is any different from how the AquaSense 2 Ultra behaves, and aside from the poor surface performance, it works outstandingly well.Charging and CleaningOn to the main event: cleanup. After each run, the AquaSense X parked itself at the waterline to await retrieval, and I dutifully lugged it across the pool deck to where I had the AstroRinse station set up. While it can take a little trial and error to get the robot seated in just the right spot, once you do, the cleaning system kicks in automatically within a few seconds.Video: Chris NullAs the rinsing system starts up, the top-mounted arm swings into place and connects with the mouth the robot uses for surface skimming. Then, a high-pressure stream of water (sounding quite loud) begins blasting from the arm and into the filter basket, which is positioned directly below this opening. The water spray runs uninterrupted for three minutes before the arm swings back and the system shuts off. (A quick mode, which runs for one minute, can also be selected in the app.) After that, the arm retracts and the unit is done. Debris is captured in a net-covered basket built into the base of the cleaning station. Any remaining water drains out through a mesh screen at the very bottom of the unit.Photograph: Chris Null#Pool #Robot #Cleans #Pooland #Cleansshopping,review,reviews,robots,home,outdoors

Beatbot AquaSense 2 Ultra except for some changes to the basket design (which is a single piece here instead of two). Setting it up is far simpler than the AstroRinse.

Physical configuration involves installing two side brushes—these are used only by the skimmer function—but this is a fairly quick affair. Once the brushes are attached, the robot must be set on top of the AstroRinse cleaner so the two devices can be wirelessly paired together. (The quick start guide lays out the particular button presses you must do to complete this process; don’t lose it.) Lastly, the system must then be paired to the Beatbot mobile app; you’ll need Bluetooth and a 2.4 GHz or 5 GHz Wi-Fi connection to complete this task. One tiny hiccup I encountered: After completing all this work, both devices downloaded firmware updates, which promptly broke their pairing connection. It was easy to reestablish, however, by simply repeating the pairing process.

Video: Chris Null

After a full charge, I put the cleaner through its paces in the pool on both the floor and the surface, and as expected, I saw no real difference in performance against the AquaSense 2 Ultra. During floor testing with both organic and synthetic debris, the device picked up an average of 97 percent of the test material, doing exceptionally well on steps and platforms. On the surface, the unit was predictably middling to awful, collecting less than half of floating debris and sinking most of the rest. The unit is just too slow to collect much material on the surface, even though its spinning side brushes help, to a small extent, to pull leaves into its maw.

On the floor of the pool, maximum running time is about 41/2 hours, courtesy of a 13,400 mAh battery—the same as the battery on the AquaSense 2 Ultra.

Image may contain Electronics Mobile Phone Phone and Text

ScreenshotBeatbot app via Chris Null

As with other AquaSense robots, a bevy of operating modes are available in the Beatbot app, letting you choose from dozens of potential combinations of floor, wall, waterline, and surface cleaning, each with up to two runs per zone and with various running times. An AI Quick Mode activates the onboard camera to allow the robot to actively search for debris instead of encountering it randomly; it’s good for a quick clean when there’s not much to pick up but more than you can easily fetch with a net.

Again, not much of this is any different from how the AquaSense 2 Ultra behaves, and aside from the poor surface performance, it works outstandingly well.

Charging and Cleaning

On to the main event: cleanup. After each run, the AquaSense X parked itself at the waterline to await retrieval, and I dutifully lugged it across the pool deck to where I had the AstroRinse station set up. While it can take a little trial and error to get the robot seated in just the right spot, once you do, the cleaning system kicks in automatically within a few seconds.

Video: Chris Null

As the rinsing system starts up, the top-mounted arm swings into place and connects with the mouth the robot uses for surface skimming. Then, a high-pressure stream of water (sounding quite loud) begins blasting from the arm and into the filter basket, which is positioned directly below this opening. The water spray runs uninterrupted for three minutes before the arm swings back and the system shuts off. (A quick mode, which runs for one minute, can also be selected in the app.) After that, the arm retracts and the unit is done. Debris is captured in a net-covered basket built into the base of the cleaning station. Any remaining water drains out through a mesh screen at the very bottom of the unit.

Image may contain Car Transportation and Vehicle

Photograph: Chris Null

#Pool #Robot #Cleans #Pooland #Cleansshopping,review,reviews,robots,home,outdoors">This Pool Robot Cleans the Pool—and Then Cleans Itself
Image may contain Adapter Electronics Escooter Transportation and Vehicle

Photograph: Chris Null

Naturally, the AstroRinse also needs a power supply, so if you don’t have a standard electrical outlet near your hose spigot, you’ll need another extension cord solution here. The unit must be level to run properly, and it features adjustable feet and a built-in spirit level to help you achieve that.

All told, you’ll need to carefully consider where you’re going to place the AstroRinse, ensuring you have access to water, power, and drainage—and that the location isn’t too far from the pool. Since the AquaSense X robot itself weighs 29 pounds (and more when freshly pulled from the water), you probably don’t want to haul the thing halfway across the yard to clean and charge it. Unfortunately, given the availability of the above three services in my backyard, that’s exactly what I had to do.

A Familiar Friend in the Water

The Beatbot AquaSense X robot is nearly identical in appearance to the Beatbot AquaSense 2 Ultra except for some changes to the basket design (which is a single piece here instead of two). Setting it up is far simpler than the AstroRinse.

Physical configuration involves installing two side brushes—these are used only by the skimmer function—but this is a fairly quick affair. Once the brushes are attached, the robot must be set on top of the AstroRinse cleaner so the two devices can be wirelessly paired together. (The quick start guide lays out the particular button presses you must do to complete this process; don’t lose it.) Lastly, the system must then be paired to the Beatbot mobile app; you’ll need Bluetooth and a 2.4 GHz or 5 GHz Wi-Fi connection to complete this task. One tiny hiccup I encountered: After completing all this work, both devices downloaded firmware updates, which promptly broke their pairing connection. It was easy to reestablish, however, by simply repeating the pairing process.

Video: Chris Null

After a full charge, I put the cleaner through its paces in the pool on both the floor and the surface, and as expected, I saw no real difference in performance against the AquaSense 2 Ultra. During floor testing with both organic and synthetic debris, the device picked up an average of 97 percent of the test material, doing exceptionally well on steps and platforms. On the surface, the unit was predictably middling to awful, collecting less than half of floating debris and sinking most of the rest. The unit is just too slow to collect much material on the surface, even though its spinning side brushes help, to a small extent, to pull leaves into its maw.

On the floor of the pool, maximum running time is about 41/2 hours, courtesy of a 13,400 mAh battery—the same as the battery on the AquaSense 2 Ultra.

Image may contain Electronics Mobile Phone Phone and Text

ScreenshotBeatbot app via Chris Null

As with other AquaSense robots, a bevy of operating modes are available in the Beatbot app, letting you choose from dozens of potential combinations of floor, wall, waterline, and surface cleaning, each with up to two runs per zone and with various running times. An AI Quick Mode activates the onboard camera to allow the robot to actively search for debris instead of encountering it randomly; it’s good for a quick clean when there’s not much to pick up but more than you can easily fetch with a net.

Again, not much of this is any different from how the AquaSense 2 Ultra behaves, and aside from the poor surface performance, it works outstandingly well.

Charging and Cleaning

On to the main event: cleanup. After each run, the AquaSense X parked itself at the waterline to await retrieval, and I dutifully lugged it across the pool deck to where I had the AstroRinse station set up. While it can take a little trial and error to get the robot seated in just the right spot, once you do, the cleaning system kicks in automatically within a few seconds.

Video: Chris Null

As the rinsing system starts up, the top-mounted arm swings into place and connects with the mouth the robot uses for surface skimming. Then, a high-pressure stream of water (sounding quite loud) begins blasting from the arm and into the filter basket, which is positioned directly below this opening. The water spray runs uninterrupted for three minutes before the arm swings back and the system shuts off. (A quick mode, which runs for one minute, can also be selected in the app.) After that, the arm retracts and the unit is done. Debris is captured in a net-covered basket built into the base of the cleaning station. Any remaining water drains out through a mesh screen at the very bottom of the unit.

Image may contain Car Transportation and Vehicle

Photograph: Chris Null

#Pool #Robot #Cleans #Pooland #Cleansshopping,review,reviews,robots,home,outdoors

Post Comment