start introducing transactions, part 2 - still WIP