added _if_dirty rule types