run rules only if value changed