   
     digitalWrite(Y_DIR_PIN, yDir > 0);
 
-    if (requestedR > currentR)
-    {
-      if ((requestedR - currentR) <= (UPPERBOUND_R/2))  rDir  = 1;
-      else rDir = -1;
-    }
-    else
-    {
-      if ((currentR - requestedR) <= (UPPERBOUND_R/2))  rDir  = -1;
-      else rDir = 1;
-    }
-
+    if (requestedR > currentR)  rDir = 1;
+    else  rDir = -1;
+    
     digitalWrite(R_DIR_PIN, rDir > 0);
 
     while(requestedX-currentX != 0 || requestedY-currentY != 0 || requestedR-currentR != 0)

        delay(500); 
      }

      if(sensorsEnabled)
      {
    
      if(yDir == -1 && digitalRead(YMIN_PIN) == 0) //YMIN endstop hit 
      {
        currentY = 0;

      }
      else
      {  
        if(!moveControl && requestedX != 0) //Move to 0
        {
          requestedX = 0;
          moveControl = true;
        }
        else if(moveControl && requestedX != UPPERBOUND_X - 1)  //Move to UPPERBOUND_X
        {
          requestedX =  UPPERBOUND_X - 1;
          moveControl = false;  
        }
        else if(!moveControl && requestedX == 0) //At 0, move to UPPERBOUND_X instead
        {
          requestedX = UPPERBOUND_X - 1;  
        }
        else if(moveControl && requestedX == UPPERBOUND_X - 1) //At UPPERBOUND_X, move to 0 instead
        {
          requestedX =  0;  
        }   
