added some comments
Commented all of the code