why is the `open` outside of the `try`?