https://videosashka.com/watch/8w1mqprAPaI/tutorial-mike-muller-functional-python