https://medium.com/@techworldwithmilan/how-to-deal-with-technical-debt-in-legacy-projects-0920742ac1f2