add transaction around find_or_create creation