improved drag/drop behavior