required and optional