clean code
updated: comments
added: new changes
added: comments