Initial implementation of drag herding.  Refining now
Merge