add source code documentation and comments
add source code documentation and comments