add: move away from a transaction structure