Many thanks to Nic Crouch for their contribution!