new abstract class for distill actions