generalized the modifier - a nicer interface for mutation