Many thanks to Andrew Konstantaras for their contribution!