https://medium.com/@frankomullo/mastering-the-power-of-small-functions-in-python-a-guide-to-lambdas-and-functors-b7015be06f77