diff --git a/stack/cas/castext2/blocks/parsons.block.php b/stack/cas/castext2/blocks/parsons.block.php
index 7f61e12f6c00ce6df2a17a2bce0842c1ac16fc47..e9ff9ab9fe938cf8b988e2b2f120c04e9138204b 100644
--- a/stack/cas/castext2/blocks/parsons.block.php
+++ b/stack/cas/castext2/blocks/parsons.block.php
@@ -45,7 +45,7 @@ class stack_cas_castext2_parsons extends stack_cas_castext2_block {
         $xpars = [];
         $inputs = []; // From inputname to variable name.
         $clone = "false"; // Whether to have all keys in available list cloned.
-        $mathjaxversion = "2"; // MathJax version (either "2" or "3")
+        $mathjaxversion = "2"; // MathJax version (either "2" or "3").
         foreach ($this->params as $key => $value) {
             if ($key === 'clone') {
                 $clone = $value;
@@ -153,19 +153,19 @@ class stack_cas_castext2_parsons extends stack_cas_castext2_block {
 
         $importcode = "\nimport {stack_js} from '" . stack_cors_link('stackjsiframe.min.js') . "';\n";
         $importcode .= "import {Sortable} from '" . stack_cors_link('sortable.min.js') . "';\n";
-        $importcode .= "import {preprocess_steps, 
-                                stack_sortable, 
-                                add_orientation_listener, 
+        $importcode .= "import {preprocess_steps,
+                                stack_sortable,
+                                add_orientation_listener,
                                 get_iframe_height,
                                 SUPPORTED_CALLBACK_FUNCTIONS
                 } from '" .
             stack_cors_link('stacksortable.min.js') . "';\n";
         $r->items[] = new MP_String($importcode);
 
-        // Add flip orientation listener to the orientation button
+        // Add flip orientation listener to the orientation button.
         // TODO: automatically set orientation based on device?
         $r->items[] = new MP_String('add_orientation_listener("orientation", "usedList", "availableList");' . "\n");
-        // Add the resize button listener
+        // Add the resize button listener.
         $r->items[] = new MP_String('document.getElementById("resize").addEventListener(
             "click", () => {stack_js.resize_containing_frame("' . $width . '", get_iframe_height() + "px");});' . "\n");
 
@@ -193,9 +193,9 @@ class stack_cas_castext2_parsons extends stack_cas_castext2_block {
         $code .= 'var sortableUserOpts = {};' . "\n";
         $code .= 'var valid;' . "\n";
         $code .= '[proofSteps, headers, sortableUserOpts, valid] = preprocess_steps(proofSteps, headers, sortableUserOpts);' . "\n";
-    
-        // If the author's JSON has invalid format throw an error
-        $code .= 'if (valid === false) 
+
+        // If the author's JSON has invalid format throw an error.
+        $code .= 'if (valid === false)
             {stack_js.display_error("' . stack_string('stackBlock_parsons_contents') . '");}' . "\n";
 
         // Link up to STACK inputs.
@@ -216,20 +216,20 @@ class stack_cas_castext2_parsons extends stack_cas_castext2_block {
         $code .= 'stackSortable.generate_available();' . "\n";
 
         // Create the Sortable objects.
-        // First, instantiate with default options first in order to extract all possible options for validation
+        // First, instantiate with default options first in order to extract all possible options for validation.
         $code .= 'var sortableUsed = Sortable.create(usedList);' . "\n";
         $code .= 'var possibleOptionKeys = Object.keys(sortableUsed.options).concat(SUPPORTED_CALLBACK_FUNCTIONS);' . "\n";
-        // Now set appropriate options
+        // Now set appropriate options.
         $code .= 'Object.entries(stackSortable.options.used).forEach(([key, val]) => sortableUsed.option(key, val));' . "\n";
         $code .= 'var sortableAvailable = Sortable.create(availableList, stackSortable.options.available);' . "\n";
-        // Add the onSort option in order to link up to input and overwrite user onSort if passed
+        // Add the onSort option in order to link up to input and overwrite user onSort if passed.
         $code .= 'sortableUsed.option("onSort", () => {stackSortable.update_state(sortableUsed, sortableAvailable);});' . "\n";
         $code .= 'sortableAvailable.option("onSort", () => {stackSortable.update_state(sortableUsed, sortableAvailable);});' . "\n";
 
-        // Options can now be validated since sortable objects have been instantiated, we throw warnings only
+        // Options can now be validated since sortable objects have been instantiated, we throw warnings only.
         $code .= 'stackSortable.validate_options(
-            possibleOptionKeys, 
-            "' . stack_string('stackBlock_unknown_sortable_option') . '", 
+            possibleOptionKeys,
+            "' . stack_string('stackBlock_unknown_sortable_option') . '",
             "' . stack_string('stackBlock_overwritten_sortable_option') . '");' . "\n";
 
         // Create bin and add delete-all button events for clone mode.
@@ -243,14 +243,14 @@ class stack_cas_castext2_parsons extends stack_cas_castext2_block {
         $code .= 'stackSortable.add_dblclick_listeners(sortableUsed, sortableAvailable);' . "\n";
 
         // Typeset MathJax. MathJax 2 uses Queue, whereas 3 works with promises.
-        $code .= ($mathjaxversion === "2") ? 
-            'MathJax.Hub.Queue(["Typeset", MathJax.Hub]);' : 
+        $code .= ($mathjaxversion === "2") ?
+            'MathJax.Hub.Queue(["Typeset", MathJax.Hub]);' :
             'var mathJaxPromise = MathJax.typesetPromise();';
 
-        // Resize the outer iframe if the author does not pre-define width. Method depends on MathJax 2 or MathJax 3
+        // Resize the outer iframe if the author does not pre-define width. Method depends on MathJax 2 or MathJax 3.
         if (!$existsuserheight) {
             $code .= ($mathjaxversion === "2") ?
-                'MathJax.Hub.Queue(() => {stack_js.resize_containing_frame("' . $width . '", get_iframe_height() + "px");})' : 
+                'MathJax.Hub.Queue(() => {stack_js.resize_containing_frame("' . $width . '", get_iframe_height() + "px");})' :
                 'mathJaxPromise.then(() => {stack_js.resize_containing_frame("' . $width . '", get_iframe_height() + "px");});';
             $code .= "\n";
         }
@@ -356,7 +356,7 @@ class stack_cas_castext2_parsons extends stack_cas_castext2_block {
             $validmjversions = ['2', '3'];
             if (!in_array($this->params['mathjax'], $validmjversions)) {
                 $valid = false;
-                $err[] = stack_string('stackBlock_parsons_unknown_mathjax_version', ['mjversion' => implode(', ', 
+                $err[] = stack_string('stackBlock_parsons_unknown_mathjax_version', ['mjversion' => implode(', ',
                     $validmjversions)]);
             }
         }