basic required, optional, exclude searching works