Small changes. A lot of comments

Небольшие правки. Добавлены очень подробные комментарии к коду