ensure transaction use and document this pattern