Many thanks to Daniel Lindsley for their contribution!