added comments and refactored code
documentation changes
added transparency
user interaction