refactor: drag and drop partial handling