Drag & drop behaviour improvements

Please see the same pull request on master for details