safer code / more dispose / finally blocks