I think that transaction needs to atomic. For #52.