encapsulate all transactions in using statements