improved transaction update