opts is not optional in the indirection handler