Many thanks to Terence Barrett for their contribution!