https://medium.com/python-mastery-101/mastering-python-understanding-control-flow-and-indentation-00790d1d858b