Commented Everything

Added comments to make it easy to understand