working drag-drop, a bit buggy but it works