consider AllowExtra for arrayref