modified transaction class