https://medium.com/@induwaradaham99/what-is-the-difference-between-a-framework-and-a-library-5359e19f8d2c