close #146 add drag-and-drop support