refactor Drag & Drop