add transaction layer