each resource should have its own individual try/finally block