forked from: drag and rotate

