add transaction interface
implement Begin/Close