first version of code
still comments to be added
added comments in code
revised code comments
final code comments