https://goodbookscompany.org/products/building-python-programs