better scope.watch separation
put dragN and dragW into functions so they can be called by dragBehaviorN, dragBehaviorW and dragBehaviorNW