empty rule, destructor, isValid fix, rule escaping