Dragging overhaul. Fixes #77 #94.