fix: imporove drag and drop