добавлены комментарии, исправлены ошибки