Added mandatory and optional element checking and details