Transactional API

Change-Id: Ifb813bc3917a846d8d3a947f043dfba28633d3d9