Cruft
Moving shared functionality into separate script
A more carefully tuned parameter space
Fix for additive DP.  Now it can start and end at any point, subject to a gully constraint.  Works well.