add "on" and "by" option for drag