Many thanks to Gordon Fleetwood for their contribution!