Learning New Backup Post-Blowup

I must confess. I blew up a Lenovo review unit Wednesday trying to fix an update problem. Now after what I learned during that experience, I’m learning new backup post-blowup. First, I’ll explain the need for new backup; then the blowup,; and finally, the backup and recovery manuevers I must now make part of my review process. It all ends with an ironic footnote, as my precautions prove unneeded.

To begin with, I’d like to thank Amanda Heater and Michael Redd of the Lenovo Reviews team, based in North Carolina. They didn’t even laugh at me when I told them what I’d done. They simply offered to cross-ship me a replacement system while I returned the one I so thoroughly munged. Thanks, thanks, thanks.

Why I’m Learning New Backup, Post-Blowup

It all goes back to Paramount Software, maker of the excellent backup and recovery toolset known as Macrium Reflect. I’ve been a happy and satisfied use of same for seven years or more. But as of January 1, 2024 (now 18 months ago), the company dropped its free version of that software. In good conscience that meant when I updated my ComputerWorld  story How to make a Windows 10 or 11 Backup, I had to recommend one or two free backup packages, as well as continuing my ongoing endorsement for Reflect (I own 8 licenses for version X and 4 for version 8, in fact).

So while I’m intaking the second iteration of a Lenovo ThinkPad T14s (the Snapdragon X variant of their thin-and-light 2-in-1 business laptop), I’m also learning how to install and use Easus ToDo Backup (one of the three free packages I mention in the February 2024 revision to the afore-cited CW story, the other two being AEOMEI Backupper Standard and MiniTool ShadowMaker Free).

It’s been both interesting and frustrating. I know Reflect so well now I don’t have to think about what I’m doing anymore: I just do it. In using Easus ToDo, I’m reminded of how idiosyncratic UI design can be, and how careful one must be in reading UI clues to understand how to define, schedule and run backups. Ditto for building and using recovery media. Long story short, I did figure things out, and I do have two backups of the T14s, working recovery media, and am ready to use them if needed. I’ve also saved a copy of the T14s BitLocker Recovery Key to a USB flash drive and my MSA.

What About That Blowup?

In working on the first of the two T14s laptops Lenovo sent me, I learned something about Windows 11 that I didn’t know, and would have preferred never to learn. In working through my normal intake process I ran Windows Update. It showed a pending CU that would not install, with the error code 0x8007000D, which indicates a corrupt Windows download or some issue with WU itself.

So naturally, I next ran the batch file from the Eleven Forum Tutorial: Reset Windows Update in Windows 11. This nearly always works to set WU back to rights, and let me get on with my updates. Not this time. The OS recommended, and my own experience concurred, that an in-place repair install was the next step in fixing this issue.

That’s where the blowup happened, as I encountered a Windows misbehavior I’ve never, ever seen before. I used the “Reinstall now” button in Settings > System > Recovery. It appears under the heading of “Fix problems using Windows Update.” It’s usually pretty foolproof and often turns a balky or misbehaving Windows OS into its tidy and proper counterpart. But first a short detour to describe the in-place repair upgrade or install.

More About the In-Place Repair Install

A repair install goes through two major phases. First, there’s a GUI-based portion, where it copies over the Windows OS installer and the files it needs to install the OS. Second, there’s a reboot after which a WinPE-based installer takes over and finishes building a new OS from a whole new set of files and data structures. Usually, Windows 11 reboots 2 or 3 times after the initial reboot as it finishes various aspects of that install process. When it’s done, a newly installed and presumably pristine version of Windows is running, usually devoid of the issues that prompted this repair fix.

This time, on either the first or second post-GUI reboot, the boot handler brought up a BitLocker recovery key screen. It also informed me that something about the boot environment had changed enough during the install that this key was needed to proceed. Ooops!

What Makes BitLocker Key Request a Blowup?

I didn’t have the BitLocker recovery key for that machine locally, and it hadn’t yet propagated into my Microsoft Account (MSA) online. I literally couldn’t access the hard drive. When I attempted to use the Lenovo image recovery service, I couldn’t get it to fork over a digital download. I could buy a pre-loaded USB for US$29 but it could take as long a week to make it to my door. Lenovo suggested that I return the unusable T14s to them, while they would cross-ship a new, working one to me for next-day delivery.

That’s the machine I’m working on right now. And my first steps on that second iteration were to:

  1. Install Easus ToDo Backup, and make a full-drive C: image backup
  2. Build the ToDo Recovery Media (this bootable flash drive will let me restore any ToDo image even if the C: drive is inaccessible)
  3. Make a file copy of the BitLocker recovery key to that same bootable flash drive, should I need for any reason. I also forced a copy into my MSA online as well (I don’t always travel with a full set of UFDs).

This is a new and permanent set of intake activities when I get a new PC or review unit from an OEM like Lenovo (I’ve also reviewed PCs and laptops from ASUS, Acer, MSI, Dell, Panasonic, and HP in past years). If a repair install can provoke the Bitlocker key request, I have to be ready for that. Now, thanks to the foregoing steps, I will be.

Ironic WU Conclusion

The CU that caused me problems on the first machine also needed installing on the second one. It was KB5063060 (26100.4351 Out-of-band). It failed on the first attempt right after the machine came up for the first time upon unboxing. But this time, the Retry button resulted in a successful installation. The machine’s all caught up and I didn’t need to run the in-place upgrade repair install, nor to recover from its failure (and supply the Bitlocker key on demand).

I was ready for things to go south. I’m grateful they did not. But, as I can attest from painful recent experience, it’s better to have the recovery tools and data and not need them, than it is to need them and not have them.

And wow, it seems ever so appropriate to recite this saga on a day emblematic of mala fortuna: please note that it’s Friday the 13th. It can be a risky day in Windows-World, as in other worlds as well.

Facebooklinkedin
Facebooklinkedin

WinGet Source Winget Goes MIA

This morning, I find myself in an interesting pickle. On about half the PCs in the mini-fleet here at Chez Tittel, the default source for WinGet came up “missing” this morning. You can see the evidence in the lead-in graphic, which shows winget missing from the list of available sources, and says it cannot find a source with that name.  Thus, when I say that WinGet source winget goes missing, I mean winget itself cannot find its usual default source, period. That’s a problem, because it means WinGet can’t access its basic package database to see if anything needs an update. Sigh.

Fixing WinGet Source Winget Goes MIA

There’s an “add” parameter for the WinGet source command that can fix this little disappearance — in most cases. If you check the next screencap, you’ll see it worked to bring back the default source on my Lenovo ThinkPad P16 Mobile Workstation, and subsequently shows a raft of seven (7) pending updates.

For most PCs, adding back the default source using the URL “https://cdn.winget.microsoft.com/cache” does the trick.

But on one of my PCs (so far as I’ve checked right now) this doesn’t work. I get an error message instead, as shown here:

According to Google Search this error code indicates a DNS resolution issue with the URL string (which works on other, likewise-affected PCs). I’ve flushed the DNS cache and reset winsock, both to no avail. I’m not sure how to fix this, so I’ve posted a question to the WinGet community on Teams. Hopefully, one of the real wizards there will have some other fixes for me to try.

And… … … the day gets off to an interesting start, with a meaty mystery, here in Windows-World. This is my idea of fun, so I’m enoying it to the max! Stay tuned: I’ll follow up when a repair becomes known.

WinGet Teams Chat Provides a Fix!

I’ve been back-n-forthing with Demitrius Nelon, WinGet Team Lead, since posting this initial item. He had me look at some logs and try a few things. Here’s the magic incantation that fixed my problem on the X380 Yoga:

Winget source reset –force

As you can see in this closing screencap this did the trick:

This same command has come in handy before — such as fixing source update fail errors (read about that in this November 2024 post) — and will no doubt come in handy again. All I need to do is remember to use/try it!

 

Facebooklinkedin
Facebooklinkedin

Prepping New 5800X Production PC

Son Gregory went off to college in Fall 2022. He took a desktop PC with him. Next Fall, he’s off to LA for a film industry internship as his capstone semester. That desktop is now mine: that’s why I’m prepping “new” 5800X production PC with a few items on order.

The old Antec A201 case got too beat up in return shipment to remain usable. So here’s what I’m planning to recover from that unit for re-use in a refurbished build:

  • AMD Vermeer Ryzen 7 5800X CPU (8 cores, 16 threads)
  • Asrock B500 Extreme 4 (AM4) motherboard
  • 64 GB G.Skill/Hynix DDR4 3200 RAM
  • Storage
    • Sabrent Rocket Q 2TB (1.863 in Explorer) PCIe x3 SSD
    • Toshiba X300 8TB HDD
    • Hitachi/WD HGST 4TB HDD
  • GPU: NVIDIA GeForce RTX 3070 Ti

Add-ons Prepping New 5800X Production PC

I know this is neither a bleeding edge nor a trailing edge system. I plan to get at least another 3-4 years out of it. So I’m spending just over US$300 to bring it completely up to snuff. Here’s what’s coming from Newegg next week:

  • NZXT H6 Flow Case (~US$110): should give me plenty of room for my drives and peripherals with good ventilation and looks
  • ASUS ThunderboltEX 5 adapter (~US$173) will give me USB5 capability and access to Intel Thunderbolt Share

I’ve also got a 2TB PCIe x4 SSD in one of my higher-end enclosures — it’s a Crucial P3 that may find a home in the unused M.2 slot if that configuration works. I don’t know yet if using two HDDs may occlude too many SATA ports to leave room for both SSD slots.

What’s To Do, Meanwhile?

Gregory hadn’t cleaned the case for its three-year Boston residency. So I need to open it up, cleaning as I go, so I can get the parts ready for their new home in the NZXT case. Who knows what else I’ll find in the unit, once I get it unbuttoned? Good thing I’ve got a nice little shop vac I keep around just for cleaning up PCs and such.

Stay tuned! I’ll report back when all the parts show up and I put this puppy together. Should be fun…

 

 

Facebooklinkedin
Facebooklinkedin

Windows 11 24H2 Makes USB4 Mandatory

I have to chuckle, just a little. Last Friday (May 30) MS released a Tech Community blog post that changes the latest Windows 11 Windows Hardware Compatibility Program (WHCP) requirements. I’m chuckling, because this change attaches to a 2024 version and it’s already half-way past 2025 (or nearly; and it’s almost 8 months after this OS went public on October 1, 2024). Whereas providing USB-C ports with leading edge capabilities had previously been optional for OEMs, Windows 11 24H2 makes USB4 mandatory, starting now.

It’s about time. Modern USB4 capable USB-C ports support fast charging, high bandwidth, and better display connections. Indeed, these connections help justify PC upgrades simply because such new devices can do more, faster than old ones.

Why Windows 11 24H2 Makes USB4 Mandatory

The lead-in graphic for this blog post is cribbed from the afore-linked Tech Community blog post. It shows why USB4 is preferable (and now, required) for the most modern Windows 11 iteration, namely:

  • Faster data speeds (bidirectional 40 Gbps for USB4v1, 80 Gpbs for USB4v2 aka USB5; USB5 can go 120 Gbps down, 40 Gbps up in some implementations)
  • Higher levels of accessory power (over 15W for laptops, docks and PCs; over 7.5W for tablets; most modern devices readily handle from 60-100W)
  • Dual 4K monitors at 60Hz, with higher numbers of monitors and refresh rates for USB5 vs USB4v1
  • PCI Express support through USB4 ports (both versions)
  • Thunderbolt 3 compatibility (both versions, USB5 is always Thunderbolt 4 compatible, some USB4v1 versions likewise)

All I can say about this recent change is that it’s something MS should have pushed through long ago. IMO, making it an OEM requirement for 24H2 from the get-go would have been good.

Better late than later is also good. And it means we can expect U4B4 baked into WHCP for 25H2 when it comes along. Is it too much to hope that MS might bump that up to USB4v2/Thunderbolt 4? I guess we’ll be finding out. Stay tuned, with fingers crosssed!

FWIW, this could address my long-standing buffuddlement that Copilot+ PCs did not require USB4 (or higher) in their PC requirements. Looks like this has now become a solid requirement. Good stuff!

Facebooklinkedin
Facebooklinkedin

Disturbing Thunderbolt 5 Revelation

I just read (and recommend) an interesting WinCentral story about the latest, emerging Thunderbolt standard from Intel — namely, Thunderbolt 5. It confirms my suspicions that laptop and PC makers have been slow to incorporate this technology in their products. Indeed, the story’s author, Cale Hunt, reports he’s found exactly ONE laptop with such capability: the Razer Blade 18 2024, whose weight, size and accoutrement position it as a gaming-oriented device. This disturbing Thunderbolt 5 revelation is offset only by increasing availability of new docking devices to get over this lack. But there’s a catch…

Disturbing Thunderbolt 5 Revelation
Comes with a Catch

What’s the catch? You can’t use Intel’s new Thunderbolt Share app unless at least one TB5 device in a PC-to-PC chain is licensed to use that software. That said, if you’re willing to spring US$300 (or more) to buy a TB5 dock you can use its license to link two otherwise unlicensed PCs together. Go figure!

So far, says Copilot, the range of TB5 capable docks includes:

  • OWC Thunderbolt 5 Dock – Features 11 ports, including three Thunderbolt 5 ports, USB-A, Ethernet, and SD card slots. Supports dual 6K or triple 8K displays.
  • Beelink Mate Mini – Designed for Mac Mini, offering Thunderbolt 5 connectivity and additional storage options.
  • CalDigit Element 5 Hub – A multi-port Thunderbolt 5 hub with nine ports, including Thunderbolt 5 / USB4 v2 connectivity.
  • Sonnet Echo 13 Thunderbolt 5 SSD Dock – Includes four Thunderbolt 5 ports, USB-A, Ethernet, and SD card slots, plus built-in SSD storage.
  • Kensington SD5000T5 EQ – A triple 4K docking station with 140W power delivery, three Thunderbolt 5 ports, and USB-A 3.2 Gen 2.

Of these, WinCentral author gives the Kensington model the nod for the best price/performance. I think I’m still waiting for CalDigit to release a TS5 model to replace its best-of-breed TS4 offering.

Where Is TB5 Going in the Marketplace?

Right now, the answer to that query has to be “Noplace fast.” I don’t see the latest version catching fire until more laptop makers start building TB5 ports into their devices, and licensing TB Share from Intel. I’m not holding my breath on that one…

I am, however, rebuilding an Asrock B250 mobo-based AMD 5800X PC and plan to include an Asus Thunderbolt EX5 adapter card. Its product page specifically claims Thunderbolt Share certification, so that unit should gain such capability. Then, I might learn something more about this stuff. When I do, I’ll share here so you can know, too. Right now, it’s still cloaked in mystery…

Facebooklinkedin
Facebooklinkedin

Playing Windows Catch-up Post OOO

OOO is, of course, a common abbreviation for “out of office.” I just returned from a family visit to Alexandria, VA, late Tuesday night, after attending a family wedding. Thus, for the past couple days I’m playing Windows catch-up post OOO on my mini-fleet of 10 PCs. Of those, 5 are desktops, and 5 are laptops in what I think is a common SOHO distro. It’s been a bit of an adventure, but by no means a real trial. Let me explain…

Deets on Playing Windows Catch-up Post OOO

If you look at the output from Advanced IP Scanner for my LAN, you can see all the currently active nodes there. Some items are routers or WAPs, others include TV sets, printers,  iDevices, smart thermostats and so forth. Note: I use Private IP addresses in the C range, which makes this stuff opaque from the outside. FWIW, Spectrum does a pretty good job of blocking scanning and intrusion attempts on their coax network, too.

Here’s the regime I’ve been running to make all my PCs current:

  • Run WU, apply updates, reboot as needed.
  • Run WinGet upgrade –all –include-unknown to update local apps for which it has package info in its database
  • Run PatchMyPC Home Updater to update local apps it handles that WinGet does not
  • Run vendor update elements for their contributions — e.g. Lenovo Vantage, Dell Command Update, Intel Driver and Support Assistant (DSA), and so forth

Total time required for the whole shebang for 10 PCs is about 2.5-3.0 hours altogether, including walking up to those PCs to light them up for those few not WOL (Wake on LAN) enabled.

What a Typical Week Away Brings the Fleet

Here’s what I observed for the various items mentioned across my collection of devices, all purchased in 2018 or later (except my primary desktop, which I’ll finally be replacing in June, now that our second X5800/B250 PC is home from Boston for good):

  • Given that the second (optional/preview) WU cycle hit while I was gone, about 60-70% of the PCs got a CU. Some handled them automatically on their own, others I had to run and/or restart manually (depends on configuration, not Microsoft).
  • For the majority of PCs, WinGet updates numbered from 3 to 7; one outlier needed 9 (but I hadn’t touched for a while before going OOO).
  • PatchMyPC found an average of 3-plus updates, and varied from 3 to 5.
  • Intel DSA offered new BlueTooth, Wi-Fi and Wired Ethernet drivers as it seems to do, two or more times a month, like clockwork.

All in all, it wasn’t too bad. Things are all caught up now. Glad to be back in the saddle, with all my gear clean and shiny, and ready to ride. Yesterday and today were both good days in Windows-World, with no snags worthy of note to report. Boring is good, sometimes!

Facebooklinkedin
Facebooklinkedin

Time Server Selection Gradual Rollout

Here we go again. I get back to the office after a week away, to learn that time server selection is moving from Control Panel to Settings in Dev and Beta Channel releases. But, there’s a pretty typical time server selection gradual rollout underway. And guess what: my Beta Channel test PC, as usual, is not in the vanguard of those being offered that update. That’s a distressingly familiar phenom, for yours truly.

What Happens During Time Server Selection Gradual Rollout?

According to Sergey  Tkachenko (via an X post from @PhantomofEarth) at WinAero, those Beta or Dev Channel images with this facility will see it show up in the ability to expand the Sync Now entry in Settings > Time & language > Data & Time under the Additional settings heading there. As you can see in the lead-in graphic, the X380 Yoga (my Beta Channel test PC) shows no caret to expand that Sync now entry. That means I haven’t caught any such update just yet.

When it shows up at some point in the future that PC will be able to select a time server for syncing under the Settings umbrella. For the time being, however, that PC must still use the Date and Time widget from control panel, Internet Time Settings tab, Configure Internet time settings subwindow, like so:

Until I get some new cumulative update (CU) or a new Beta version with the right facility, I’ll be using this tool to choose my default time server for synching up. It’s nice to know that MS is moving yet another capability from the old Control Panel environment into settings. It’s less nice to understand my test PC hasn’t yet made that grade. But shoot! That’s definitely the way things go in Windows-World from time to time, especially for your humble correspondent. Sigh.

Facebooklinkedin
Facebooklinkedin

Outlook .DOCX Files Won’t Open

Here’s a pretty pickle. My most-used professional writing tool is MS Word, and I’m an Outlook user, too. A couple of days ago, I noticed that sent as attachments to Outlook .DOCX files won’t open. The first time it happened: I thought: “Corruption.” The second time, I thought: “Hmmmm. Something is up.” The third time, I KNEW “Time for Office repairs.”

Over the years I’ve written about fixing MS Office when it breaks or gets weird. You can find both 2021 and 2024 versions of such a story at ComputerWorld: 5 Steps to Repair Microsoft Office. [Note: the link is to the current version, natch.]

When Outlook .DOCX Files Won’t Open, Then What?

MS Office is a big, complex program. Occasionally it can have problems, sometimes small ones, sometimes big. To deal with such stuff MS has thoughtfully — and thankfully — built repair tools into the application installer environment.

Visit Settings > Apps > Installed Apps and look for your version of Office (in my case it’s named “Microsoft apps for enterprise – en-us”). Click on that entry, then click the Modify button. That produces the repair options presented in the lead-in graphic, with “Quick Repair” selected by default. QR uses local files to re-install and reset MS Office. Most of the time it fixes things.

This time, it did not, so I went back to that repair window and selected “Online Repair” instead. This downloads a fresh copy of all necessary files from MS servers, and does a clean re-install and reset instead. Perforce, it takes longer to do its thing (about 5-6 minutes for quick, and double that for online, on  my 2014 vintage i7 Skylake desktop).

But hey! The Online Repair worked. As soon as it completed, I opened Outlook, and grabbed the most recent message with a .DOCX attachment. This time, instead of throwing an error message saying it couldn’t read the file, it opened it up and let me get to work. Just what I was hoping would happen.

Sometimes, things in Windows-World come to a happy ending. This was such a time, and I’m glad. Huzzah!

Facebooklinkedin
Facebooklinkedin

X380 Yoga Is Not Quite QMR-able

It’s been a long time coming, and it’s on its way out. QMR is, of course, Quick Machine Recovery. It’s a facility to let an unbootable Windows image grab a repair and fix itself, from WU or other sources. MS announced it at Ignite 2024, and it started rolling out to the Beta Channel for Windows 11 24H2 in March 2025. It showed up on my Beta test PC — a Lenovo ThinkPad X380 Yoga –earlier this week. But alas, that X380 Yoga is not quite QMR-able just yet. Let me show and tell what that means…

Why Say: X380 Yoga Is Not Quite QMR-able

Take a look at the into screen cap. Up top you see the pane from the X380 for Settings > System > Recovery > Quick machine recovery. Note above that I’ve got QRM turned on and likewise the “continue searching” option. Below, I opened WinTerm to check the status of the Windows recovery agent console (aka reagentc) to show status.

According to Copilot if QMR is available and ready to work on a Windows 11 24H2 Beta PC, one should see four entries in the reagentc /info output (all bulleted items are quoted or paraphrased):

  • Recovery Test Mode: Enabled (if test mode is active)
  • Windows RE Status: Enabled (QMR relies on WinRE)
  • Remote Remediation: Active (if QMR is configured for automatic fixes)
  • Remediation Package: Installed (if a recovery update has been applied)

If you look at the output in the screecap, it shows only item 2. That simply means WinRE itself is turned on, and able to work on the X380. None of the other QMR specific items appear, though, do they?

Turns Out There’s a Gradual Rollout, Too…

There’s a Quality Update that WU should automatically download on some Windows 11 24H2 Beta Channel PCs for testing QMR. If it’s present the PC can be induced to reboot and use the QMR facility. That package is named “Quick machine recovery update for Windows 11.” BUT it’s on a gradual rollout, as I just learned yesterday.

Alas, this update is NOT in the Update History on my X380 PC. So I still can’t take QMR for a spin. I’ll get there — soon, I hope — but not today. If you’ve got a Windows 11 24H2 Beta image at your disposal, and it’s up to date, you can check things out, too. If you find the afore-mentioned item in your update history, you can take if for a spin with these two commands in Windows Terminal:

reagentc /SetRecoveryTestmode
reagentc /BoottoRE

Then, reboot your PC and you will see QMR do its thing. That’s what I plan to try as soon as I make into the “included group” during this gradual rollout.

And ain’t that just the way things go for Windows Insiders sometimes here in Windows-World? This isn’t the first time, nor will it be the last, that I’m behind the leading edge on a gradual rollout.

 

Facebooklinkedin
Facebooklinkedin

Unsticking Lenovo System Update

From May 6 through 12, I had a Lenovo System update stick in WU. That is, it would attempt to install, fail, and then push a retry button at me. Alas, that meant WU wouldn’t show me any newer updates, either. At the end of this cycle KB5058496 came along. It didn’t show up in WU, either. That’s when I found myself unsticking Lenovo system update on the Lenovo ThinkPad Yoga X380 where it happened. How did I do that? I ran the:

Reset_Reregister_Windows_Update_Components_for_Windows11.bat

batch file from the Eleven Forums tutorial Reset Windows Update in Windows 11. As it so often does, the Lenovo System update worked the next time I tried after said reset operation had completed and I’d rebooted that PC (as per the batch file’s own instructions). The new CU installed, and went to Build 26120.3964.

More on Unsticking Lenovo System Update

I’m not sure why the WU version got stuck, nor why it stayed that way for some time. When I looked in the Windows-Update.log file I produced via the PowerShell Get-WindowsUpdateLog cmdlet, no supporting detail told me why it happened, either.

All that Copilot could tell me was that it must be a Lenovo servicing driver update of some kind. Google was willing to speculate it might be the driver for the Lenovo Intelligent Thermal Solution. Lenovo Vantage kind of confirms this in a back-handed way, in that its history shows the latest version dated March 2024 with version number 2.1.14.0, which certainly seems to follow in the general numbering track for the item that got stuck.

So I checked Device Manager > System devices > Lenovo Intelligent Thermal Solution properties. Sure enough, the currently installed version is 2.1.52.0. Interestingly the install date shows as 4/11/2025 (same as in WU update history). That leaves me glad this already-installed driver somehow got itself unstuck. I’m still wondering why WU offered it repeatedly from 5/6-12.

These meaningless mysteries never stop in Windows-World. I’m just glad this apparently unnecessary driver offer stopped when I reset WU. Now the machine is running Build 26120.3964 and the right Intelligent Thermal Solutions driver without further issues. I’m good for now, but sure something similar will pop up soon, on one or more of my mini-fleet of 12 PCs. Stay tuned!

Facebooklinkedin
Facebooklinkedin

Author, Editor, Expert Witness