strict allows optional