https://yorkesoftware.com/2017/05/07/do-you-know-what-your-problem-is/