cleaned up control view drag implementation