change rule logic