https://medium.com/@alains/python-tutorial-13-of-50-from-beginner-to-expert-your-guide-to-python-libraries-9f9be7969d81