Procedural Multimodal Documents (PMDs) organize textual instructions and corresponding images step by step. Comprehending PMDs and inducing their representations for the downstream reasoning tasks is designated as Procedural MultiModal Machine Comprehension (M 3 C). In this study, we approach Procedural M 3 C at a fine-grained level (compared with existing explorations at a document or sentence level), that is, entity. With delicate consideration, we model entity both in its temporal and cross-modal relation and propose a novel Temporal-Modal Entity Graph (TMEG). Specifically, a heterogeneous graph structure is formulated to capture textual and visual entities and trace their temporal-modal evolution. In addition, a graph aggregation module is introduced to conduct graph encoding and reasoning. Comprehensive experiments across three Procedural M 3 C tasks are conducted on a traditional dataset RecipeQA and our new dataset CraftQA, which can better evaluate the generalization of TMEG. M ulti M odal M achine C omprehension (M 3 C) is a generalization of machine reading comprehension by introducing multimodality. Due to its differences from Visual Question Answering (VQA) (Antol et al., 2015) in the form of understanding multimodal contexts and conducting multimodal questions and answers, there has been a lot of attention in recent years devoted to this field. In this paper, we investigate a task that has been typical of M 3 C recently, named Procedural M 3 C, a task of reading comprehension of P rocedural M ultimodal D ocuments (PMDs). As shown in Figure 1, a recipe that contains successive multimodal instructions is a typical PMD. Reading a recipe seems trivial for humans but is still complex for a machine reading comprehension * Corresponding authors. Current Procedural M 3 C studies (Yagcioglu et al., 2018; Liu et al., 2020) comprehend PMDs by encoding text and images at each procedure step. These efforts, however, only scratch the surface and lack deep insight into the elementary unit of PMDs, that is, entity . From now on, we use entity to refer uniformly to entity in text and object in image. For instance, the recipe in Figure 1 involves multiple entities, i.e., Strawberry and Sugar Cookie Dough , etc. In this work, we target at approaching the Procedural M 3 C task at a fine-grained entity level. We observe that a PMD essentially assembles an evolution process of entities and the relations between them. Specifically, the relation between entities can be summarized in the following two categories:  Temporal Relation. by step 4 they are washed and cut into pieces. We use temporal relation to depict the association between an entity's changing visual signals in images or changing contexts in text. Multimodal Relation. An entity is naturally and powerfully associated with other entities within a single modality. Meanwhile, the cross-modal association of an entity is worth exploiting to contribute to distinct modality understanding. For example, the visual signal and context about sugar cookie dough can be interpreted by each other at step 2. We generalize the intraand intermodal associations of entities with the multimodal relation. Based on the above observations, we believe that simultaneously modeling entities and the temporal and multimodal relations is a key challenge in understanding PMDs. Recent efforts (Amac et al., 2019; Huang et al., 2021) are devoted to encoding temporal relations of entities, while it neglects the multimodal relation. Heterogeneous graphs have become the preferred technology for representing, sharing, and fusing information to modern AI tasks, e.g., relation extraction (Christopoulou et al., 2019) and recommendation (Fan et al., 2019). Inspired by this, we construct a heterogeneous graph, with entities as nodes and relations as edges. Therefore, the research goal of the procedural M 3 C task will shift from understanding unstructured PMDs to learning structured graph representations. In this work, we propose a novel T emporal M odal E ntity G raph model, namely TMEG . Our model approaches Procedural M 3 C at a fine-grained entity level by constructing and learning a graph with entities and temporal and multimodal relations. Specifically, TMEG consists of the following components: 1) Node Construction , which extracts the token-level features in text and object-level features in images as the initial entity embeddings; 2) Graph Construction , which constructs the temporal, intra-modal, and cross-modal relations separately to form a unified graph; and 3) Graph Aggregation , which utilizes the graph-based multi-head attention mechanism to perform fusion operations on graphs to model the evolution of entities and relations. Finally, the graph representation is fed into a graph-based reasoning module to evaluate the model's understanding ability. In addition, in order to further advance the research of Procedural M 3 C, we release CraftQA, a multimodal semantically enriched dataset that contains about 27k craft product-making tutorials and 46k question-answer pairs for evaluation. We evaluate three representative subtasks, i.e., visual cloze, visual coherence, and visual ordering, on CraftQA and a public dataset RecipeQA (Yagcioglu et al., 2018). The quantitative and qualitative results show the superiority of TMEG compared to the state-of-the-art methods on all three tasks. The main contributions of this paper can be summarized as follows:  We innovatively study the Procedural M 3 C task at a fine-grained entity level. We comprehensively explore the relations between entities in both temporal and multimodal perspectives. We propose a Temporal-Modal Entity Graph model TMEG, which constructs a graph with entities as nodes and relations as edges, and then learns the graph representation to understand PMDs. We release a dataset CraftQA. The experimental results on CraftQA and RecipeQA show TMEG outperforms several state-of-the-art methods. Procedural Text Comprehension. Procedural text comprehension requires an accurate prediction for the state change and location information of each entity over successive steps. Several datasets have been proposed to evaluate procedural text comprehension, e.g., Recipe (Bosselut et al., 2018), ProPara (Mishra et al., 2019), and OPENPI (Tan-don et al., 2020). To model entity evolution, KG-MRC (Das et al., 2019) constructs knowledge graphs via reading comprehension and uses them for entity location prediction. DYNAPRO (Amini et al., 2020) introduces a pre-trained language model to dynamically obtain the contextual embedding of procedural text and learn the attributes and transformations of entities. ProGraph (Zhong et al., 2020) enables state prediction from context by constructing a heterogeneous graph with various knowledge inputs. KoalA (Zhang et al., 2021b) utilizes the external commonsense knowledge injection and data enhancement to reason the states and locations of entities. TSLM (Faghihi and Kord-jamshidi, 2021) formulate comprehension task as a question answering problem and adapt pre-trained transformer-based language models on other QA benchmarks. REAL (Huang et al., 2021) builds 1180  Temporal Modal Graph Aggregation Node Encoding Graph-Based Multi-Head Attention Add & Norm Feed Forward Network Add & Norm L  Graph-Based Reasoning   Position Segment MLP MLP Text Input Step 1: Ingredients: 16 oz strawberry, 9 oz blueberries,  Step 2: Make or buy your sugar cookie dough. a general framework to systematically model the entity, action, location by using a graph neural network. Inspired by these previous works, we propose a temporal-modal entity graph model, which is designed with temporal encoding and modal encoding to model multiple types of entities. Multimodal Graph. In recent multimodal research, graph structure has been utilized to model the semantic interaction between modalities. (Yin et al., 2020) propose a graph-based multimodal fusion encoder for neural machine translation, which converted sentence and image in a unified multimodal graph. (Khademi, 2020) convert image regions and the region grounded captions into graph structure and introduced graph memory networks for visual question answering. (Zhang et al., 2021a) propose a multimodal graph fusion approach for named entity recognition, which conducted graph encoding via multimodal semantic interaction. (Yang et al., 2021) focus on multimodal sentiment analysis and emotion recognition, which unified video, audio, and text modalities into an attention graph and learned the interaction through graph fusion, dynamic pruning, and the read-out technique. In contrast to the above methods, we formulate our multimodal graph on temporal entities and successfully deploy it in Procedural M 3 C. 3 Proposed Method In this section, we introduce: (1) problem definition of Procedural M 3 C in Section 3.1; (2) The homogeneous graph of each textual instruction (im-age) and our TMEG in Section 3.2 and Section 3.3, respectively; and (3) graph aggregation module to conduct graph encoding and reasoning in Section 3.4. Figure 2 gives a high-level overview of TMEG. Here, we define the task of Procedural M 3 C, given:  Context S = { s t } N t t =1 in textual modality, which represents a series of coherent textual instructions to perform a specific skill or task (e.g., multiple steps to complete a recipe or a craft product). Question Q and Answer A , which is either a single image or a series of images in a reasoning task (e.g., visual cloze, visual coherence, or visual ordering). Following (Liu et al., 2020), we combine the images contained in Q and A to form N c candidate image sequences { a 1 , ...a j , ...a N c } . Let N a be the length of the j -th candidate image sequence a j = { I j, 1 , ...I j,N a } . Take the visual cloze task as an example, we fill the placeholder of the question with candidate answers to form N c image sequences with length N a = 4 . The model requires to select the most relevant candidate by calculating the similarity between text sequence S = { s t } N t t =1 and each image sequence a j . As shown in Figure 2, we first extract the tokens (objects) in text (image) as the initial nodes of homogeneous graph, respectively. Textual Node. Let N t be the number of textual instructions S = { s t } N t t =1 . First, each in-1181 struction s t is tokenized into a token sequence { e t [CLS] , e t 1 , ...e t [SEP] } , where [CLS] and [SEP] are the special tokens introduced to mark the start and the end of each instruction. Then, we utilize an off-the-shelf POS tagger (Akbik et al., 2018) to identify all nouns and noun phrases in the token sequence. Finally, we concatenate all the token sequences of textual instructions S and feed the token embedding into the graph aggregation module. Visual Node. For each image sequence a j , we employ a pre-trained Faster-RCNN to extract a set { e v [CLS] , e v 1 , ...e v k } with k object features as visual tokens. Following (Messina et al., 2020; Dosovit-skiy et al., 2021), we reserve [CLS] as the beginning token for each image whose final embedding is regarded as the representation of the whole image. The operation of visual node is in a similar manner as textual and any two nodes in the same instruction (image) are connected to construct a homogeneous graph. Based on the homogeneous graph of each textual instruction (image), we introduce various types of edges to construct our heterogeneous graph TMEG. It is essential to model the temporal evolution of entities for comprehending procedural content. Let us revisit the example in Figure 1. When a human reads step 4, the connection between entities (e.g., strawberries and oranges ) and their descriptions in step 1 is naturally established. We design the temporal edge to model the evolution of entities in text and image. It can be seen that the temporal edge describes the evolution at different steps. For the textual nodes, the same entity appearing in different steps are connected by a textual temporal edge (node-based). While for the visual nodes, we directly calculate the Euclidean Distance between object features due to the absence of accurate object detection. Following (Song et al., 2021), if the distance between node (object) i and node (object) j is less than a threshold  t , we treat them as the same object and connect node i to node j via a visual temporal edge (node-based). Meanwhile, we consider that there may also be temporal evolution for edges, such as changes in the relationship between entities. Therefore, we also introduce temporal edge (edge-based) to characterize the change of edges. As shown in Figure 1, the textual instruction of each image can be viewed as a noisy form of image annotation (Hessel et al., 2019). The association between image and sentence can be inferred through entity representations under different modalities. Correspondingly, we design the intra-modal edge and the inter-modal edge to represent the modal interactions. In Section 3.2, any two nodes in the same modality and the same instruction (image) are connected by an intra-modal edge. It is worth noting that for each instruction (image), the special [CLS] node is connected to all other nodes in order to aggregate graph-level features. On the other hand, the textual node representing any entity and the corresponding visual node are connected by an inter-modal edge. We employ a visual grounding toolkit (Yang et al., 2019) to detect visual objects for each noun phrase. Specifi-cally, we predict the bounding box corresponding to the text entity and compute the Intersection over Union (IoU) between all visual objects. If the IoU between the prediction box and the visual box exceeds a threshold  m , the textual node and the corresponding visual node are connected by an inter-modal edge (node-based). Similar to section 3.3.1, considering the influence of entity-relationship under different modalities, we also introduce inter-modal edge (edge-based) to characterize the interaction between edges. As described in Section 3.2, we have obtained the embeddings of the textual tokens and visual objects. Similar to (Li et al., 2020), all embeddings are mapped to a set of initial node embeddings, and each node embedding is the sum of 1) a textual token embedding or visual object embedding; 2) a position embedding that identifies the position of the token or object in the image 1 ; and 3) a segment embedding generated from the step number in PMD which indicates different textual instructions or images. To encode the structural information into TMEG, we consider the temporal encoding and the modal encoding separately. For any two nodes v i and v j in 1 We exploit the bounding box feature extracted by Faster-RCNN as the position embedding of the object. TMEG, we construct two mappings:  t ( v i , v j )  R and  m ( v i , v j )  R which encode the temporal edge and the modal edge between them. The temporal encoding and the modal encoding of the total graph are fed into the graph-based aggregation module. As shown in the right part of Figure 2, we first introduce two multi-layer perceptrons (MLP) with Tanh activation function to project different node embeddings from two modalities into the same space. Then, we extend the VisualBERT (Li et al., 2020) to the graph-based fusion layer, which concatenates the node embeddings from MLPs as input and outputs their graph-based joint representations. Specifically, in each fusion layer, updating the hidden states of textual node and visual node mainly involve the following steps. Firstly, we exploit a graph-based multi-head attention mechanism to generate contextual representations of nodes. Formally, the output of the h -th attention head in the l  1 layer can be obtained as follows: A ( q , k , v ) h,l  1 j = N (cid:88) i =1 v hi (cid:16) Softmax ( e hi,j ) (cid:17) , (1) e hi,j = q hj (cid:0) k hi (cid:1) T  d + b h m ( i,j ) + b h t ( i,j ) , (2) where q, k, v are the query matrix, key matrix, and value matrix generated from the hidden state H ( l  1) of nodes in the l  1 layer. t ( i, j ) and  m ( i, j ) denote the temporal encoding and the modal encoding of TMEG, which serve as bias terms in the attention module. It is worth noting that each head in the multi-head attention mechanism exhibits a broad range of behaviors (Vig, 2019); thus, we add different temporal encoding and modal encoding separately for each attention head. Meanwhile, in order to model the relationship of edges, the temporal encoding and the modal encoding are learned separately for each layer. We concatenate the output of each head and pass them to a position-wise Feed Forward Networks (FFN) which is preceded and succeeded by residual connections and normalization layer (LN),  H ( l ) = LN (cid:16) W [ A 1 , ... A h ] + H ( l  1) (cid:17) , H ( l ) = LN (cid:16) FFN (  H ( l ) ) +  H ( l ) (cid:17) , (3) where W is a learnable parameter and [ ] denotes Algorithm 1: Graph Aggregation of TMEG Input : The initial hidden states of TMEGH 0 ; the graph-based fusion layer number N ; the temporal encoding  t ; the modal encoding  m ; the attention head A Output: The final hidden states HN 1 for l  1 to N do // Graph-Based Fusion Layer 2 foreach attention head A h,l in layer l do 3 Generate q , k , v from hidden states H l  1 ; 4 Obtain edge encoding b h t ( i,j ) and b h m ( i,j ) ; 5 Calculate attention weight e hi,j (Eq. the concatenation manipulation. Finally, based on TMEG, we stack multi-layer graph-based fusion layers to conduct graph encoding. Algorithm 1 shows the aggregation of TMEG in detail. As mentioned in Section 3.2, we regard the hidden state of [CLS] as the representations of each instruction (image), where their final hidden states HT and HV are passed into the graph reasoning module for task completion. Firstly, we leverage the one-to-one correspondence between instruction and image, e.g., each instruction has an image to visualize it (Alikhani et al., 2021). TMEG involves a Contrastive Coherence Loss for keeping the alignment between instruction and image. Let HV + and HV  represent the positive and negative examples, the loss L Coh of the i -th step can be defined as follows: L Coh i =  log exp { sim ( H Ti , HV + i ) /  } (cid:80) Kj =1 exp { sim ( H Ti , HV  j ) /  } , (4) where K is the total number of negative samples (He et al., 2020) generated from the min-batch, sim (  ,  ) and  are the standard cosine similarity function and temperature. In a downstream reasoning task, the model needs to predict the correct candidate a j = { I j, 1 , ...I j,N a } based on the instructions S = { s t } N t t =1 . Referring to the sentence image predic-1183 tion task in (Li et al., 2020), we concatenate all representations of each candidate image sequence to generate a instruction candidate pair as: ( S , a j ) = [ CLS , HT 1 , ...H TN t , SEP , H Vj, 1 , ...H Vj,N a ] , where [CLS] and [SEP] are special tokens as used in (Li et al., 2020). We pass this input through a shallow transformer followed by a fully connected layer to obtain the prediction score P ( S , a j ) for the j -th candidate, and the prediction loss can be defined as L Pre =  log exp ( P ( S , a j )) (cid:80) N a  1 i =1 ,i (cid:54) = j exp ( P ( S , a i )) , (5) where a j is the correct candidate and N a is the number of candidates. We get the final loss function and optimize it through the Adam optimizer: L = L Pre +  b L Coh , (6) where  b is the balance parameter. Unless otherwise specified, all the results in this paper use  b = 0 . 1 which we find to perform best. RecipeQA. RecipeQA (Yagcioglu et al., 2018) is a multimodal comprehension dataset with 20K recipes approximately and more than 36K question-answer pairs. Unlike other multimodal reading comprehension datasets (Tapaswi et al., 2016; Iyyer et al., 2017; Kembhavi et al., 2017) analyze against movie clips or comics, RecipeQA requires reasoning real-world cases. We collect CraftQA from Instructables 2 , which is an online community where people can share their tutorials for accomplishing a task in a step-by-step manner. CraftQA. Specifically, we collect the most visited tutorials and remove those that contain only text or video. For question and answer generation, we also remove the tutorials that contain less than 3 images. To construct the distractor of each task, we compute the Euclidean distance between the image features that are extracted from a pretrained ResNet-50 (He et al., 2016). Taking the visual cloze task as an example, the distractor is sampled from the nearest neighbors of the ground-truth image based on Euclidean distance. Finally, CraftQA contains about 27k craft product-making tutorials and 46k question-answer pairs. We employ CraftQA to evaluate the reading comprehension performance of TMEG in different domains as 2 https://www.instructables.com/ Dataset Statistics Train Valid Test RecipeQA # of recipes 15,847 1,963 1,969 avg. Metric. In three Procedural M 3 C tasks that are tested in the following experiments (visual cloze, visual coherence, and visual ordering), we use clas-sification accuracy as the evaluation metric, which is defined as the percentage of yielding the ground-truth answer during testing (Yagcioglu et al., 2018; Amac et al., 2019; Liu et al., 2020). For visual node construction, we employ the pretrained Faster R-CNN (Ren et al., 2015) model provided by Detectron2 (Wu et al., 2019) and limit the number of objects to 36 for each image. Following (Yang et al., 2019; Song et al., 2021), we set the thresholds  t and  m as 7 and 0.5, respectively, for the temporal and the modal edge constructions. The framework of the graph-based fusion module is built on VisualBERT (Li et al., 2020) with its initialized parameters and tokenizer implemented by HuggingFace's transformers library (Wolf et al., 2020). The shallow transformer in the graph-based reasoning module is designed as 2 hidden layers with a size of 512 and 8 attention heads. During the training stage, the batch size is fixed to 16 and the number of negative samples K is set to 8. The temperature parameter  in Eq.(4) is set to 0.07. The balance parameter  b in Eq.(6) is set to 0.1. Adam with the learning rate 5  10  5 is used to update parameters. We introduce an early stopping mechanism and set the patience value to 5, which means the training will stop if the model performance is not improved in five consecutive times. Our source code will be released online. We compare our model with the following models: (1) Hasty Student (HS) (Yagcioglu et al., 2018) discards textual context and directly exploits the similarities and dissimilarities between answer images to rank candidates. (2) PRN (Amac et al., 2019) introduces external relational memory units to keep track of textual entities and employs a bi-directional attention mechanism to obtain a question-aware embedding for prediction. (3) MLMM-Trans (Liu et al., 2020) modifies the framework of the transformer (Vaswani et al., 2017) and conducts an intensive attention mechanism at multiple levels to predict correct image sequences. (4) VisualBERT (Li et al., 2020) consists of a stack of transformer layers that extend the traditional BERT (Devlin et al., 2019) model to a multimodal encoder. The performance of some baselines on RecipeQA has been previously reported in (Amac et al., 2019; Liu et al., 2020). As shown in Table 2, TMEG shows favorable performance in different reasoning tasks, with an average accuracy of 69.73 and 49.54 on RecipeQA and CraftQA, following behind the Human performance. Besides, the performance on the visual ordering task exceeds human accuracy for the first time, which proves that the temporal and modal analysis in TMEG is effective in comprehending PMDs. MLMM-Trans performs comparably with VisualBERT while inferior to TMEG, which may be attributed to their superficial consideration of Figure 3: Experimental results of our model with different balance parameter  b in MLMM-Trans ignores the entity information contained in text (e.g., the correspondence between entities in text and images) and VisualBERT directly fuses textual and visual features without considering entity evolution. In TMEG, we explicitly identify and model entity evolution in PMD, whereas MLMM-Trans and VisualBERT assume entity information to be learned implicitly alongside other data. Meanwhile, CraftQA has more images (20.14 vs 12.67) and tokens (535.88 vs 443.01) on average than RecipeQA. More diverse complex cases in CraftQA require better comprehension and reasoning capacities for both models and humans. We believe this can explain the lower results on CraftQA. This emphasizes the necessity of comprehending entity coherence in a multimodal context. We evaluate the effects of temporal encoding, modal encoding, and contrastive coherence loss Edge Encoding. Table 2 also shows the ablation results of our model when each module is respectively removed. In terms of edge encoding, removing temporal encoding makes more negative effects on TMEG than moving the modal encoding, reflecting the significance of modeling temporal entity evolution for procedural M 3 C. Contrastive Coherence Loss. As shown in the last row of Table 2, we find that L Coh can indeed improve TMEG. The reason is that L Coh helps enhance the learning of textual entity representation and visual entity representation in Procedural M 3 C. 4.5 Analysis of TMEG 4.5.1 Balance Parameter In Figure 3, we illustrate the influence of the balance parameter  b in Eq.(6), which balances the contrastive coherence loss L Coh and the candidate prediction loss L Pre . We tune  b from 0 to 0.2 with 0.05 as the step size. We observe that the model beats the highest accuracy when  b = 0 . 1 . Generally, (1) introducing the contrastive coherence loss can improve TMEG for better fitting downstream tasks, and (2) appropriately balancing the prediction loss L Pre and contrastive coherence loss L Coh helps TMEG comprehend PMDs. To study the domain transfer capability of our framework, we evaluate TMEG in different domains, as shown in Table 3. Specifically, The model trained on RecipeQA is evaluated on CraftQA, and the reverse is true for CraftQA. Results show that compared with other baselines, our model achieves more generalized and better comprehension performance on domain transfer by incorporating TMEG. Figure 4 further presents a visual cloze example on RecipeQA which requires a correct image in the missing piece after reading the context. We compare the highest-scored candidate images respectively picked out by MLMM-Trans (Liu et al., 2020), VisualBERT (Li et al., 2020), and TMEG. By considering the temporal-modal entity evolution, TMEG can capture the salient entities (e.g., Strawberry and Sugar Cookie Dough ) and trace their evolution at each step, thereby inferring the ground-truth answer. In this paper, we propose a novel temporal-modal entity graph (TMEG) to approach Procedural M 3 C. Based on TMEG, we introduce graph-based fusion module and reasoning module, which are used to aggregate node features and solve downstream reasoning tasks. What's more, we introduce another Procedural M 3 C dataset called CraftQA to assist in evaluating the generalization performance of TMEG in different domains and domain transfer. Extensive experiments on the RecipeQA and CraftQA validate the superiority of TMEG. A promising future direction is to introduce temporal-modal entity graphs into the video understanding task (Lin et al., 2020; Xu et al., 2020), which also calls for an enhancement of the temporal and the cross-modal reasoning capability. Intellectual Property. CraftQA contains question answer pairs generated from copyright free tutorials found online 3 . All of the tutorials are licensed with the Creative Commons license 4 which helps share knowledge and creativity for common use. The collection of CraftQA is in accordance with the Terms of Service of Instructables as follows: by posting, providing, uploading, submitting, sharing, publishing, distributing, making available or allowing others to access and/or use Your Content to or through the Service You are solely responsible and liable for the consequences of doing so and you acknowledge and agree that Your Content can and may be viewed worldwide 5 . We also construct experimental evaluations on the RecipeQA dataset. Referring to the official dataset descriptions of RecipeQA 6 , Legal and Ethical Considerations had been taken into account during the construction of RecipeQA. We have cited the corresponding papers in this study. 3 https://www.instructables.com 4 https://creativecommons.org/licenses/by-nc-sa/4.0 5 https://www.autodesk.com/company/legal-notices-trademarks/terms-of-service-autodesk360-web-services/instructables-terms-of-service-june-5-2013 6 https://hucvl.github.io/recipeqa/recipeqa-datasheet.pdf Privacy. According to the Privacy Statement of Instructables 7 , users can choose whether or not to expose their information when publishing tutorials. Respecting personal privacy, we have removed all of the personal information of users from CraftQA and promise CraftQA isn't involved with any privacy issues. Acknowledgements : This work was supported in part by the National Natural Science Foundation of China (No. 62106091) and Shandong Provincial Natural Science Foundation (No. ZR2021MF054).
abstain abstain method objective abstain abstain objective abstain abstain objective abstain abstain abstain abstain method abstain abstain result abstain objective method objective objective objective objective abstain method abstain abstain method abstain objective method abstain abstain abstain abstain abstain abstain method abstain objective objective objective abstain objective other other other other other other other other other other objective other other other other other other other other method abstain method abstain method abstain objective abstain abstain abstain method method abstain method method abstain method abstain abstain abstain method abstain abstain abstain method method abstain abstain abstain method abstain abstain abstain method method abstain method abstain abstain abstain abstain abstain method method method abstain abstain abstain abstain method other abstain method abstain other abstain method abstain abstain abstain abstain other abstain method other method abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain other abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain result abstain abstain abstain abstain abstain abstain abstain abstain result abstain method abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain abstain result abstain result abstain abstain abstain objective method abstain abstain abstain abstain abstain abstain method abstain abstain other abstain method abstain