diff --git a/editors/demo/src/HHMI/config/config.js b/editors/demo/src/HHMI/config/config.js
index 5e2ace8e24fd838650c7b01c853b293ee276cb61..13c0157864a5c3ffdc1800f7e6822cecfb8e3857 100644
--- a/editors/demo/src/HHMI/config/config.js
+++ b/editors/demo/src/HHMI/config/config.js
@@ -21,7 +21,6 @@ import {
   EditorInfoToolGroupServices,
   BottomInfoService,
   MultipleChoiceQuestionService,
-  MultipleChoiceSingleCorrectQuestionService,
   MultipleChoiceToolGroupService,
   FillTheGapQuestionService,
   FillTheGapToolGroupService,
@@ -69,7 +68,6 @@ export default {
   ],
 
   services: [
-    new MultipleChoiceSingleCorrectQuestionService(),
     new FillTheGapQuestionService(),
     new FillTheGapToolGroupService(),
     new MultipleChoiceQuestionService(),
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js
index 754bc979a7451f5e808b9ec4bd11a253b174a8e3..df0d5eaaff7f8d4105cfbe37b38aaffbb2c86819 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js
@@ -63,16 +63,10 @@ class MultipleChoiceQuestion extends Tools {
 
   get active() {
     return state => {
-      let type = '';
-      const predicate = node =>
-        node.type === state.config.schema.nodes.multiple_choice;
-      for (let i = state.selection.$from.depth; i > 0; i--) {
-        const node = state.selection.$from.node(i);
-        if (predicate(node)) {
-          type = 'multiple';
-        }
-      }
-      return type;
+      return Commands.isParentOfType(
+        state,
+        state.config.schema.nodes.multiple_choice,
+      );
     };
   }
 
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js
index 4df5be64aec344cd2f9d908946b21811bf7282cf..9053ec2e234ff780819197885ed05f490d81f4c4 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js
@@ -4,6 +4,7 @@ import multipleChoiceNode from './schema/multipleChoiceNode';
 import multipleChoiceContainerNode from './schema/multipleChoiceContainerNode';
 import QuestionComponent from './components/QuestionComponent';
 import MultipleChoiceNodeView from './MultipleChoiceNodeView';
+import MultipleChoiceSingleCorrectQuestionService from '../MultipleChoiceSingleCorrectQuestionService/MultipleChoiceSingleCorrectQuestionService';
 
 class MultipleChoiceQuestionService extends Service {
   register() {
@@ -25,6 +26,8 @@ class MultipleChoiceQuestionService extends Service {
       context: this.app,
     });
   }
+
+  dependencies = [new MultipleChoiceSingleCorrectQuestionService()];
 }
 
 export default MultipleChoiceQuestionService;
diff --git a/wax-prosemirror-services/src/MultipleChoiceSingleCorrectQuestionService/MultipleChoiceSingleCorrectQuestion.js b/wax-prosemirror-services/src/MultipleChoiceSingleCorrectQuestionService/MultipleChoiceSingleCorrectQuestion.js
index 50903454355eb11149ae9c273471e756df97ad2b..76c4d9eee229010a015aff12a9c4cabba4f3eba7 100644
--- a/wax-prosemirror-services/src/MultipleChoiceSingleCorrectQuestionService/MultipleChoiceSingleCorrectQuestion.js
+++ b/wax-prosemirror-services/src/MultipleChoiceSingleCorrectQuestionService/MultipleChoiceSingleCorrectQuestion.js
@@ -63,16 +63,10 @@ class MultipleChoiceSingleCorrectQuestion extends Tools {
 
   get active() {
     return state => {
-      let type = '';
-      const predicate = node =>
-        node.type === state.config.schema.nodes.multiple_choice_single_correct;
-      for (let i = state.selection.$from.depth; i > 0; i--) {
-        const node = state.selection.$from.node(i);
-        if (predicate(node)) {
-          type = 'multipleSingle';
-        }
-      }
-      return type;
+      return Commands.isParentOfType(
+        state,
+        state.config.schema.nodes.multiple_choice_single_correct,
+      );
     };
   }
 
diff --git a/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDown.js b/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDown.js
index 35ef85b2aef1785ca8b12175dff4736b5cab5a42..b3ced223a92876278cf0a0b134560291d65d685c 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDown.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDown.js
@@ -68,32 +68,28 @@ class MultipleDropDown extends ToolGroup {
         label: 'Multiple Choice',
         value: '0',
         item: this._tools[0],
-        type: 'multiple',
       },
       {
         label: 'Multiple Choice (single correct)',
         value: '1',
         item: this._tools[1],
-        type: 'multipleSingle',
-      },
-      {
-        label: 'True/False',
-        value: '2',
-        item: this._tools[0],
-        type: 'trueFalse',
-      },
-      {
-        label: 'True/False (single correct)',
-        value: '3',
-        item: this._tools[0],
-        type: 'trueFalseSingle',
       },
+      // {
+      //   label: 'True/False',
+      //   value: '2',
+      //   item: this._tools[0],
+      // },
+      // {
+      //   label: 'True/False (single correct)',
+      //   value: '3',
+      //   item: this._tools[0],
+      // },
     ];
 
     const isDisabled = this._tools[0].select(state, activeView);
     let found = '';
     dropDownOptions.forEach((option, i) => {
-      if (option.item.active(main.state) === option.type) {
+      if (option.item.active(main.state)) {
         found = option.label;
       }
     });
diff --git a/wax-prosemirror-utilities/package.json b/wax-prosemirror-utilities/package.json
index d7a7daed6cd16560e90d40a453572673afdc58d5..6931c3ba3d8139c7d9dceead2accdc4cd8139bf9 100644
--- a/wax-prosemirror-utilities/package.json
+++ b/wax-prosemirror-utilities/package.json
@@ -14,6 +14,7 @@
   },
   "dependencies": {
     "prosemirror-commands": "1.1.10",
+    "prosemirror-transform": "1.2.6",
     "prosemirror-utils": "^0.9.6",
     "uuid": "^7.0.3"
   }
diff --git a/wax-prosemirror-utilities/src/commands/Commands.js b/wax-prosemirror-utilities/src/commands/Commands.js
index 479fc0cacb6f5346b16643693a918e11dcd4fbba..99c34a84eb224e16eb38666c2cecb4321974da10 100644
--- a/wax-prosemirror-utilities/src/commands/Commands.js
+++ b/wax-prosemirror-utilities/src/commands/Commands.js
@@ -240,7 +240,7 @@ const createCommentOnFootnote = (state, dispatch, group, viewid) => {
 
 const isInTable = state => {
   const { $head } = state.selection;
-  for (let d = $head.depth; d > 0; d--)
+  for (let d = $head.depth; d > 0; d -= 1)
     if ($head.node(d).type.spec.tableRole === 'row') return true;
   return false;
 };
@@ -253,6 +253,18 @@ const simulateKey = (view, keyCode, key) => {
   return view.someProp('handleKeyDown', f => f(view, event));
 };
 
+const isParentOfType = (state, nodeType) => {
+  let status = false;
+  const predicate = node => node.type === nodeType;
+  for (let i = state.selection.$from.depth; i > 0; i -= 1) {
+    const node = state.selection.$from.node(i);
+    if (predicate(node)) {
+      status = true;
+    }
+  }
+  return status;
+};
+
 export default {
   isInTable,
   setBlockType,
@@ -265,4 +277,5 @@ export default {
   markActive,
   isOnSameTextBlock,
   simulateKey,
+  isParentOfType,
 };