Add transaction wrapper