Исправленная версия с комментариями