Добавлено больше комментариев и убрана отладочная печать.
Все комментарии переведены на английский язык.