comentation and explanation added