run all in one transaction