https://medium.com/@danielmdouglas/solid-principles-the-ingredients-for-a-five-star-software-application-4187f4337229