working on more complex transaction system