new directive options(selectors, zindex, disable); track active element by index (compatibility with ng-repeat track by index); debouncing drag eveng; using css classes to track items; if handles in use, only drag if event is on handle; correcting event.target if needed, cloning also classes, streamline css