improved transaction