https://www.quickread.in/learn-how-to-build-a-python-package-from-scratch/