add transaction blocks around write opertions
keep the same vocabulary with block args