Transactional API

Change-Id: I2daf113f2b1fcbce56664d71d1d5fdd56095b91c