updated tx functionality