Drag and drop

This PR implements drag and drop functionality as discussed in the Google Groups thread.