Many thanks to Dan Yeaw for their contribution!