(c) 2023 by Daniel Seitz