added transaction interface