Add transaction support