treat transactions as series of commands