Обновлён с учётом последних изменений