       if ((!paused) && (currRIMS < setRIMS) && (currRIMS != 0))
       {
         //ensure HLT off
-        elementOff(0);
+        if (digitalRead(HLTSSR) == HIGH)
+        {
+          elementOff(0);
+        }
         //now turn on RIMS
-        elementOn(1);
+        if (digitalRead(RIMSSSR) == LOW)
+        {
+          elementOn(1);
+        }
       }
       else
       {
         //turn off RIMS
-        elementOff(1);
+        if (digitalRead(RIMSSSR) == HIGH)
+        {
+          elementOff(1);
+        }
         //fire HLT?
         if ((!paused) && (currHLT < setHLT))
         {
-          elementOn(0);
+          if (digitalRead(HLTSSR) == LOW)
+          {
+            elementOn(0);
+          }
         }
         else
         {
-          elementOff(0);
+          if (digitalRead(HLTSSR) == HIGH)
+          {
+            elementOff(0);
+          }
         }
       }
       break;

    case 2:
      tft.fillCircle(125, 8, 5, BLACK);
      digitalWrite(BKSSR, LOW);
      BKon = false;
      break;
  }
}

      //firing the HLT only
      if ((!paused) && (currHLT < setHLT) && (currHLT != 0))
      {
        if (digitalRead(HLTSSR) == LOW)
        {
          elementOn(0);
        }
      }
      else
      {
