diff --git a/2-ui/3-event-details/5-drag-and-drop-objects/article.md b/2-ui/3-event-details/5-drag-and-drop-objects/article.md
index cee2a4f6..cdaf9099 100644
--- a/2-ui/3-event-details/5-drag-and-drop-objects/article.md
+++ b/2-ui/3-event-details/5-drag-and-drop-objects/article.md
@@ -501,11 +501,10 @@ DragManager.onDragCancel = function(dragObject) {
1. При `mousedown` запомнить координаты нажатия.
2. При `mousemove` инициировать перенос, как только зажатый элемент передвинули на 3 пикселя или больше. Сообщить во внешний код вызовом `onDragStart`. При этом:
-
-3. Создать аватар, если можно начать перенос элемента `draggable` с данной позиции курсора.
-4. Переместить аватар по экрану, установив его новую позицию из `e.pageX/pageY` с учетом изначального сдвига элемента относительно курсора.
-5. Сообщить во внешний код о текущем `droppable` под курсором и позиции над ним вызовами `onDragEnter`, `onDragMove`, `onDragLeave`.
-6. При `mouseup` обработать завершение переноса. Элемент под аватаром получить по координатам, предварительно спрятав аватар. Сообщить во внешний код вызовом `onDragEnd`.
+ 1. Создать аватар, если можно начать перенос элемента `draggable` с данной позиции курсора.
+ 2. Переместить аватар по экрану, установив его новую позицию из `e.pageX/pageY` с учетом изначального сдвига элемента относительно курсора.
+ 3. Сообщить во внешний код о текущем `droppable` под курсором и позиции над ним вызовами `onDragEnter`, `onDragMove`, `onDragLeave`.
+3. При `mouseup` обработать завершение переноса. Элемент под аватаром получить по координатам, предварительно спрятав аватар. Сообщить во внешний код вызовом `onDragEnd`.
Получившаяся реализация Drag'n'Drop проста, эффективна, изящна.