https://medium.com/@agni.infinity/concurrency-in-go-harnessing-the-power-of-goroutines-and-channels-fd2049b692a9