add assign_optional property