Eliminate dead code.
Avoid duplicate code.
Merge branch 'DragDrop'