Written by Chris Klosowski. Last updated on June 28, 2023. Fix: accidentally included some changes from the upcoming 3.5 release