get things working with D2

... and totally break'em with D1. :-(
reconcile Dancer 1 and Dancer 2 codepaths
simplification