https://medium.com/better-programming/everything-you-wanted-to-know-about-closures-in-swift-e7d3a6ff5a74