I don't like how this `fd` variable is the same as the one up there in the `try`, yet used for independent purposes.