do we need a `try/finally` around this?