more logical error handling/try finally logic