Improved drag functionality