Updated: уточнены и исправлены комментарии