Many thanks to Matt McGraw for their contribution!