Add support for transactions