This, together with removing the the `*` from opts in this and `format` fixed the issue. Everything else is just refactor.