Add heavy commenting so it's easier to read
Add heavy commenting so it's easier to read