added longer comments to main.go to explain what is happening, in a more detailed manner.