added comments to better differentiate the start of a new function