add more tests for transactions