Many thanks to Eric Froemling for their contribution!