optional requires