add Required check and tests