updating rule based