https://medium.com/takeaway-tech/insights-in-cyclomatic-and-cognitive-complexity-in-your-application-58922ae59e80