Implementing transaction support