refactor @repat_on_conflict