would be amazing if all of these conditions had tests, but realize that'd be a huge amount of infrastructure to setup.