why are we passing the original opts here instead of o?