added comments in the source code