add the possible way to do transaction