adds guards for required properties