add some transaction function