refactored required field