https://medium.com/@engr.mmreza/understanding-goroutine-and-channel-a-step-by-step-guide-c28e59c98e93