commit e782e026e59b86965ca63711e293c11f4e9dce61
Author: Leszek Koltunski <leszek@koltunski.pl>
Date:   Tue Sep 21 00:37:02 2021 +0200

    Realize that the Movements of Rex, Redi, Dino and the Skewbs are all identical and convert those 4 classes into one MovementCornerTwisting.

diff --git a/src/main/java/org/distorted/objects/MovementCornerTwisting.java b/src/main/java/org/distorted/objects/MovementCornerTwisting.java
new file mode 100644
index 00000000..91ae99d4
--- /dev/null
+++ b/src/main/java/org/distorted/objects/MovementCornerTwisting.java
@@ -0,0 +1,116 @@
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// Copyright 2020 Leszek Koltunski                                                               //
+//                                                                                               //
+// This file is part of Magic Cube.                                                              //
+//                                                                                               //
+// Magic Cube is free software: you can redistribute it and/or modify                            //
+// it under the terms of the GNU General Public License as published by                          //
+// the Free Software Foundation, either version 2 of the License, or                             //
+// (at your option) any later version.                                                           //
+//                                                                                               //
+// Magic Cube is distributed in the hope that it will be useful,                                 //
+// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
+// GNU General Public License for more details.                                                  //
+//                                                                                               //
+// You should have received a copy of the GNU General Public License                             //
+// along with Magic Cube.  If not, see <http://www.gnu.org/licenses/>.                           //
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+package org.distorted.objects;
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+class MovementCornerTwisting extends Movement6
+{
+  MovementCornerTwisting()
+    {
+    super(TwistySkewb.ROT_AXIS);
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
+    {
+    return offset<0 ? 0 : numLayers-1;
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+// _____________
+// |  \  0  /  |
+// |   \   /   |
+// | 3 |   | 1 |
+// |   /   \   |
+// |  /  2  \  |
+// -------------
+
+  private int getQuarter(float[] touchPoint)
+    {
+    boolean p0 = touchPoint[1] >= touchPoint[0];
+    boolean p1 = touchPoint[1] >=-touchPoint[0];
+
+    if( p0 )  return p1 ? 0:3;
+    else      return p1 ? 1:2;
+    }
+
+///////////////////////////////////////////////////////////////////////////////////////////////////
+
+  void computeEnabledAxis(int face, float[] touchPoint, int[] enabled)
+    {
+    enabled[0] = 2;
+
+    int quarter = getQuarter(touchPoint);
+
+    switch(face)
+      {
+      case 0: switch(quarter)
+                {
+                case 0: enabled[1]=0; enabled[2]=1; break;
+                case 1: enabled[1]=3; enabled[2]=1; break;
+                case 2: enabled[1]=2; enabled[2]=3; break;
+                case 3: enabled[1]=0; enabled[2]=2; break;
+                }
+              break;
+      case 1: switch(quarter)
+                {
+                case 0: enabled[1]=2; enabled[2]=3; break;
+                case 1: enabled[1]=3; enabled[2]=1; break;
+                case 2: enabled[1]=0; enabled[2]=1; break;
+                case 3: enabled[1]=0; enabled[2]=2; break;
+                }
+              break;
+      case 2: switch(quarter)
+                {
+                case 0: enabled[1]=1; enabled[2]=2; break;
+                case 1: enabled[1]=0; enabled[2]=1; break;
+                case 2: enabled[1]=0; enabled[2]=3; break;
+                case 3: enabled[1]=2; enabled[2]=3; break;
+                }
+              break;
+      case 3: switch(quarter)
+                {
+                case 0: enabled[1]=1; enabled[2]=2; break;
+                case 1: enabled[1]=2; enabled[2]=3; break;
+                case 2: enabled[1]=0; enabled[2]=3; break;
+                case 3: enabled[1]=0; enabled[2]=1; break;
+                }
+              break;
+      case 4: switch(quarter)
+                {
+                case 0: enabled[1]=0; enabled[2]=3; break;
+                case 1: enabled[1]=0; enabled[2]=2; break;
+                case 2: enabled[1]=1; enabled[2]=2; break;
+                case 3: enabled[1]=1; enabled[2]=3; break;
+                }
+              break;
+      case 5: switch(quarter)
+                {
+                case 0: enabled[1]=1; enabled[2]=2; break;
+                case 1: enabled[1]=0; enabled[2]=2; break;
+                case 2: enabled[1]=0; enabled[2]=3; break;
+                case 3: enabled[1]=1; enabled[2]=3; break;
+                }
+              break;
+      }
+    }
+}
diff --git a/src/main/java/org/distorted/objects/MovementDino.java b/src/main/java/org/distorted/objects/MovementDino.java
deleted file mode 100644
index eb519484..00000000
--- a/src/main/java/org/distorted/objects/MovementDino.java
+++ /dev/null
@@ -1,117 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// Copyright 2020 Leszek Koltunski                                                               //
-//                                                                                               //
-// This file is part of Magic Cube.                                                              //
-//                                                                                               //
-// Magic Cube is free software: you can redistribute it and/or modify                            //
-// it under the terms of the GNU General Public License as published by                          //
-// the Free Software Foundation, either version 2 of the License, or                             //
-// (at your option) any later version.                                                           //
-//                                                                                               //
-// Magic Cube is distributed in the hope that it will be useful,                                 //
-// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
-// GNU General Public License for more details.                                                  //
-//                                                                                               //
-// You should have received a copy of the GNU General Public License                             //
-// along with Magic Cube.  If not, see <http://www.gnu.org/licenses/>.                           //
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-package org.distorted.objects;
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-class MovementDino extends Movement6
-{
-
-  MovementDino()
-    {
-    super(TwistyDino.ROT_AXIS);
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
-    {
-    return offset<0 ? 0:2;
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// _____________
-// |  \  0  /  |
-// |   \   /   |
-// | 3 |   | 1 |
-// |   /   \   |
-// |  /  2  \  |
-// -------------
-
-  private int getQuarter(float[] touchPoint)
-    {
-    boolean p0 = touchPoint[1] >= touchPoint[0];
-    boolean p1 = touchPoint[1] >=-touchPoint[0];
-
-    if( p0 )  return p1 ? 0:3;
-    else      return p1 ? 1:2;
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  void computeEnabledAxis(int face, float[] touchPoint, int[] enabled)
-    {
-    enabled[0] = 2;
-
-    int quarter = getQuarter(touchPoint);
-
-    switch(face)
-      {
-      case 0: switch(quarter)
-                {
-                case 0: enabled[1]=0; enabled[2]=1; break;
-                case 1: enabled[1]=3; enabled[2]=1; break;
-                case 2: enabled[1]=2; enabled[2]=3; break;
-                case 3: enabled[1]=0; enabled[2]=2; break;
-                }
-              break;
-      case 1: switch(quarter)
-                {
-                case 0: enabled[1]=2; enabled[2]=3; break;
-                case 1: enabled[1]=3; enabled[2]=1; break;
-                case 2: enabled[1]=0; enabled[2]=1; break;
-                case 3: enabled[1]=0; enabled[2]=2; break;
-                }
-              break;
-      case 2: switch(quarter)
-                {
-                case 0: enabled[1]=1; enabled[2]=2; break;
-                case 1: enabled[1]=0; enabled[2]=1; break;
-                case 2: enabled[1]=0; enabled[2]=3; break;
-                case 3: enabled[1]=2; enabled[2]=3; break;
-                }
-              break;
-      case 3: switch(quarter)
-                {
-                case 0: enabled[1]=1; enabled[2]=2; break;
-                case 1: enabled[1]=2; enabled[2]=3; break;
-                case 2: enabled[1]=0; enabled[2]=3; break;
-                case 3: enabled[1]=0; enabled[2]=1; break;
-                }
-              break;
-      case 4: switch(quarter)
-                {
-                case 0: enabled[1]=0; enabled[2]=3; break;
-                case 1: enabled[1]=0; enabled[2]=2; break;
-                case 2: enabled[1]=1; enabled[2]=2; break;
-                case 3: enabled[1]=1; enabled[2]=3; break;
-                }
-              break;
-      case 5: switch(quarter)
-                {
-                case 0: enabled[1]=1; enabled[2]=2; break;
-                case 1: enabled[1]=0; enabled[2]=2; break;
-                case 2: enabled[1]=0; enabled[2]=3; break;
-                case 3: enabled[1]=1; enabled[2]=3; break;
-                }
-              break;
-      }
-    }
-}
diff --git a/src/main/java/org/distorted/objects/MovementRedi.java b/src/main/java/org/distorted/objects/MovementRedi.java
deleted file mode 100644
index b926e459..00000000
--- a/src/main/java/org/distorted/objects/MovementRedi.java
+++ /dev/null
@@ -1,116 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// Copyright 2020 Leszek Koltunski                                                               //
-//                                                                                               //
-// This file is part of Magic Cube.                                                              //
-//                                                                                               //
-// Magic Cube is free software: you can redistribute it and/or modify                            //
-// it under the terms of the GNU General Public License as published by                          //
-// the Free Software Foundation, either version 2 of the License, or                             //
-// (at your option) any later version.                                                           //
-//                                                                                               //
-// Magic Cube is distributed in the hope that it will be useful,                                 //
-// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
-// GNU General Public License for more details.                                                  //
-//                                                                                               //
-// You should have received a copy of the GNU General Public License                             //
-// along with Magic Cube.  If not, see <http://www.gnu.org/licenses/>.                           //
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-package org.distorted.objects;
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-class MovementRedi extends Movement6
-{
-  MovementRedi()
-    {
-    super(TwistyRedi.ROT_AXIS);
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
-    {
-    return offset<0 ? 0:2;
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// _____________
-// |  \  0  /  |
-// |   \   /   |
-// | 3 |   | 1 |
-// |   /   \   |
-// |  /  2  \  |
-// -------------
-
-  private int getQuarter(float[] touchPoint)
-    {
-    boolean p0 = touchPoint[1] >= touchPoint[0];
-    boolean p1 = touchPoint[1] >=-touchPoint[0];
-
-    if( p0 )  return p1 ? 0:3;
-    else      return p1 ? 1:2;
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  void computeEnabledAxis(int face, float[] touchPoint, int[] enabled)
-    {
-    enabled[0] = 2;
-
-    int quarter = getQuarter(touchPoint);
-
-    switch(face)
-      {
-      case 0: switch(quarter)
-                {
-                case 0: enabled[1]=0; enabled[2]=1; break;
-                case 1: enabled[1]=3; enabled[2]=1; break;
-                case 2: enabled[1]=2; enabled[2]=3; break;
-                case 3: enabled[1]=0; enabled[2]=2; break;
-                }
-              break;
-      case 1: switch(quarter)
-                {
-                case 0: enabled[1]=2; enabled[2]=3; break;
-                case 1: enabled[1]=3; enabled[2]=1; break;
-                case 2: enabled[1]=0; enabled[2]=1; break;
-                case 3: enabled[1]=0; enabled[2]=2; break;
-                }
-              break;
-      case 2: switch(quarter)
-                {
-                case 0: enabled[1]=1; enabled[2]=2; break;
-                case 1: enabled[1]=0; enabled[2]=1; break;
-                case 2: enabled[1]=0; enabled[2]=3; break;
-                case 3: enabled[1]=2; enabled[2]=3; break;
-                }
-              break;
-      case 3: switch(quarter)
-                {
-                case 0: enabled[1]=1; enabled[2]=2; break;
-                case 1: enabled[1]=2; enabled[2]=3; break;
-                case 2: enabled[1]=0; enabled[2]=3; break;
-                case 3: enabled[1]=0; enabled[2]=1; break;
-                }
-              break;
-      case 4: switch(quarter)
-                {
-                case 0: enabled[1]=0; enabled[2]=3; break;
-                case 1: enabled[1]=0; enabled[2]=2; break;
-                case 2: enabled[1]=1; enabled[2]=2; break;
-                case 3: enabled[1]=1; enabled[2]=3; break;
-                }
-              break;
-      case 5: switch(quarter)
-                {
-                case 0: enabled[1]=1; enabled[2]=2; break;
-                case 1: enabled[1]=0; enabled[2]=2; break;
-                case 2: enabled[1]=0; enabled[2]=3; break;
-                case 3: enabled[1]=1; enabled[2]=3; break;
-                }
-              break;
-      }
-    }
-}
diff --git a/src/main/java/org/distorted/objects/MovementRex.java b/src/main/java/org/distorted/objects/MovementRex.java
deleted file mode 100644
index 3a035d3c..00000000
--- a/src/main/java/org/distorted/objects/MovementRex.java
+++ /dev/null
@@ -1,116 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// Copyright 2020 Leszek Koltunski                                                               //
-//                                                                                               //
-// This file is part of Magic Cube.                                                              //
-//                                                                                               //
-// Magic Cube is free software: you can redistribute it and/or modify                            //
-// it under the terms of the GNU General Public License as published by                          //
-// the Free Software Foundation, either version 2 of the License, or                             //
-// (at your option) any later version.                                                           //
-//                                                                                               //
-// Magic Cube is distributed in the hope that it will be useful,                                 //
-// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
-// GNU General Public License for more details.                                                  //
-//                                                                                               //
-// You should have received a copy of the GNU General Public License                             //
-// along with Magic Cube.  If not, see <http://www.gnu.org/licenses/>.                           //
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-package org.distorted.objects;
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-class MovementRex extends Movement6
-{
-  MovementRex()
-    {
-    super(TwistyRex.ROT_AXIS);
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
-    {
-    return offset<0 ? 0:2;
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// _____________
-// |  \  0  /  |
-// |   \   /   |
-// | 3 |   | 1 |
-// |   /   \   |
-// |  /  2  \  |
-// -------------
-
-  private int getQuarter(float[] touchPoint)
-    {
-    boolean p0 = touchPoint[1] >= touchPoint[0];
-    boolean p1 = touchPoint[1] >=-touchPoint[0];
-
-    if( p0 )  return p1 ? 0:3;
-    else      return p1 ? 1:2;
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  void computeEnabledAxis(int face, float[] touchPoint, int[] enabled)
-    {
-    enabled[0] = 2;
-
-    int quarter = getQuarter(touchPoint);
-
-    switch(face)
-      {
-      case 0: switch(quarter)
-                {
-                case 0: enabled[1]=0; enabled[2]=1; break;
-                case 1: enabled[1]=3; enabled[2]=1; break;
-                case 2: enabled[1]=2; enabled[2]=3; break;
-                case 3: enabled[1]=0; enabled[2]=2; break;
-                }
-              break;
-      case 1: switch(quarter)
-                {
-                case 0: enabled[1]=2; enabled[2]=3; break;
-                case 1: enabled[1]=3; enabled[2]=1; break;
-                case 2: enabled[1]=0; enabled[2]=1; break;
-                case 3: enabled[1]=0; enabled[2]=2; break;
-                }
-              break;
-      case 2: switch(quarter)
-                {
-                case 0: enabled[1]=1; enabled[2]=2; break;
-                case 1: enabled[1]=0; enabled[2]=1; break;
-                case 2: enabled[1]=0; enabled[2]=3; break;
-                case 3: enabled[1]=2; enabled[2]=3; break;
-                }
-              break;
-      case 3: switch(quarter)
-                {
-                case 0: enabled[1]=1; enabled[2]=2; break;
-                case 1: enabled[1]=2; enabled[2]=3; break;
-                case 2: enabled[1]=0; enabled[2]=3; break;
-                case 3: enabled[1]=0; enabled[2]=1; break;
-                }
-              break;
-      case 4: switch(quarter)
-                {
-                case 0: enabled[1]=0; enabled[2]=3; break;
-                case 1: enabled[1]=0; enabled[2]=2; break;
-                case 2: enabled[1]=1; enabled[2]=2; break;
-                case 3: enabled[1]=1; enabled[2]=3; break;
-                }
-              break;
-      case 5: switch(quarter)
-                {
-                case 0: enabled[1]=1; enabled[2]=2; break;
-                case 1: enabled[1]=0; enabled[2]=2; break;
-                case 2: enabled[1]=0; enabled[2]=3; break;
-                case 3: enabled[1]=1; enabled[2]=3; break;
-                }
-              break;
-      }
-    }
-}
diff --git a/src/main/java/org/distorted/objects/MovementSkewb.java b/src/main/java/org/distorted/objects/MovementSkewb.java
deleted file mode 100644
index 3884e0e5..00000000
--- a/src/main/java/org/distorted/objects/MovementSkewb.java
+++ /dev/null
@@ -1,116 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// Copyright 2020 Leszek Koltunski                                                               //
-//                                                                                               //
-// This file is part of Magic Cube.                                                              //
-//                                                                                               //
-// Magic Cube is free software: you can redistribute it and/or modify                            //
-// it under the terms of the GNU General Public License as published by                          //
-// the Free Software Foundation, either version 2 of the License, or                             //
-// (at your option) any later version.                                                           //
-//                                                                                               //
-// Magic Cube is distributed in the hope that it will be useful,                                 //
-// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
-// GNU General Public License for more details.                                                  //
-//                                                                                               //
-// You should have received a copy of the GNU General Public License                             //
-// along with Magic Cube.  If not, see <http://www.gnu.org/licenses/>.                           //
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-package org.distorted.objects;
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-class MovementSkewb extends Movement6
-{
-  MovementSkewb()
-    {
-    super(TwistySkewb.ROT_AXIS);
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  int computeRowFromOffset(int face, int axisIndex, int numLayers, float offset)
-    {
-    return offset<0 ? 0:numLayers-1;
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-// _____________
-// |  \  0  /  |
-// |   \   /   |
-// | 3 |   | 1 |
-// |   /   \   |
-// |  /  2  \  |
-// -------------
-
-  private int getQuarter(float[] touchPoint)
-    {
-    boolean p0 = touchPoint[1] >= touchPoint[0];
-    boolean p1 = touchPoint[1] >=-touchPoint[0];
-
-    if( p0 )  return p1 ? 0:3;
-    else      return p1 ? 1:2;
-    }
-
-///////////////////////////////////////////////////////////////////////////////////////////////////
-
-  void computeEnabledAxis(int face, float[] touchPoint, int[] enabled)
-    {
-    enabled[0] = 2;
-
-    int quarter = getQuarter(touchPoint);
-
-    switch(face)
-      {
-      case 0: switch(quarter)
-                {
-                case 0: enabled[1]=0; enabled[2]=1; break;
-                case 1: enabled[1]=3; enabled[2]=1; break;
-                case 2: enabled[1]=2; enabled[2]=3; break;
-                case 3: enabled[1]=0; enabled[2]=2; break;
-                }
-              break;
-      case 1: switch(quarter)
-                {
-                case 0: enabled[1]=2; enabled[2]=3; break;
-                case 1: enabled[1]=3; enabled[2]=1; break;
-                case 2: enabled[1]=0; enabled[2]=1; break;
-                case 3: enabled[1]=0; enabled[2]=2; break;
-                }
-              break;
-      case 2: switch(quarter)
-                {
-                case 0: enabled[1]=1; enabled[2]=2; break;
-                case 1: enabled[1]=0; enabled[2]=1; break;
-                case 2: enabled[1]=0; enabled[2]=3; break;
-                case 3: enabled[1]=2; enabled[2]=3; break;
-                }
-              break;
-      case 3: switch(quarter)
-                {
-                case 0: enabled[1]=1; enabled[2]=2; break;
-                case 1: enabled[1]=2; enabled[2]=3; break;
-                case 2: enabled[1]=0; enabled[2]=3; break;
-                case 3: enabled[1]=0; enabled[2]=1; break;
-                }
-              break;
-      case 4: switch(quarter)
-                {
-                case 0: enabled[1]=0; enabled[2]=3; break;
-                case 1: enabled[1]=0; enabled[2]=2; break;
-                case 2: enabled[1]=1; enabled[2]=2; break;
-                case 3: enabled[1]=1; enabled[2]=3; break;
-                }
-              break;
-      case 5: switch(quarter)
-                {
-                case 0: enabled[1]=1; enabled[2]=2; break;
-                case 1: enabled[1]=0; enabled[2]=2; break;
-                case 2: enabled[1]=0; enabled[2]=3; break;
-                case 3: enabled[1]=1; enabled[2]=3; break;
-                }
-              break;
-      }
-    }
-}
diff --git a/src/main/java/org/distorted/objects/ObjectList.java b/src/main/java/org/distorted/objects/ObjectList.java
index e7291252..7e0006b9 100644
--- a/src/main/java/org/distorted/objects/ObjectList.java
+++ b/src/main/java/org/distorted/objects/ObjectList.java
@@ -120,7 +120,7 @@ public enum ObjectList
                        {3 , 10, 10, R.raw.dino, R.drawable.ui_small_dino, R.drawable.ui_medium_dino, R.drawable.ui_big_dino, R.drawable.ui_huge_dino} ,
                      },
          TwistyDino6.class,
-         new MovementDino(),
+         new MovementCornerTwisting(),
          4,
          60
        ),
@@ -130,7 +130,7 @@ public enum ObjectList
                        {3 , 7, 7, R.raw.dino, R.drawable.ui_small_din4, R.drawable.ui_medium_din4, R.drawable.ui_big_din4, R.drawable.ui_huge_din4} ,
                      },
          TwistyDino4.class,
-         new MovementDino(),
+         new MovementCornerTwisting(),
          4,
          60
        ),
@@ -140,7 +140,7 @@ public enum ObjectList
                        {3 , 14, 16, R.raw.redi, R.drawable.ui_small_redi, R.drawable.ui_medium_redi, R.drawable.ui_big_redi, R.drawable.ui_huge_redi} ,
                      },
          TwistyRedi.class,
-         new MovementRedi(),
+         new MovementCornerTwisting(),
          4,
          60
        ),
@@ -161,7 +161,7 @@ public enum ObjectList
                        {3 , 17, 21, R.raw.skew3, R.drawable.ui_small_skewm, R.drawable.ui_medium_skewm, R.drawable.ui_big_skewm, R.drawable.ui_huge_skewm} ,
                      },
          TwistySkewb.class,
-         new MovementSkewb(),
+         new MovementCornerTwisting(),
          5,
          60
        ),
@@ -181,7 +181,7 @@ public enum ObjectList
                        {3 , 16, 19, R.raw.rex, R.drawable.ui_small_rex, R.drawable.ui_medium_rex, R.drawable.ui_big_rex, R.drawable.ui_huge_rex} ,
                      },
          TwistyRex.class,
-         new MovementRex(),
+         new MovementCornerTwisting(),
          5,
          60
        ),
diff --git a/src/main/java/org/distorted/objects/TwistyRedi.java b/src/main/java/org/distorted/objects/TwistyRedi.java
index 057c9a4a..a0aa6b67 100644
--- a/src/main/java/org/distorted/objects/TwistyRedi.java
+++ b/src/main/java/org/distorted/objects/TwistyRedi.java
@@ -119,7 +119,7 @@ public class TwistyRedi extends TwistyObject
     {
     if( mQuats==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
-    return status<0 ? null : buildSolvedQuats(MovementRedi.FACE_AXIS[status],mQuats);
+    return status<0 ? null : buildSolvedQuats(MovementCornerTwisting.FACE_AXIS[status],mQuats);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/objects/TwistyRex.java b/src/main/java/org/distorted/objects/TwistyRex.java
index 551539c1..766021b7 100644
--- a/src/main/java/org/distorted/objects/TwistyRex.java
+++ b/src/main/java/org/distorted/objects/TwistyRex.java
@@ -112,7 +112,7 @@ public class TwistyRex extends TwistyObject
     {
     if( mQuats==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
-    return status<0 ? null : buildSolvedQuats(MovementRex.FACE_AXIS[status],mQuats);
+    return status<0 ? null : buildSolvedQuats(MovementCornerTwisting.FACE_AXIS[status],mQuats);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/main/java/org/distorted/objects/TwistySkewb.java b/src/main/java/org/distorted/objects/TwistySkewb.java
index 8215a9af..b64b24f1 100644
--- a/src/main/java/org/distorted/objects/TwistySkewb.java
+++ b/src/main/java/org/distorted/objects/TwistySkewb.java
@@ -111,7 +111,7 @@ public class TwistySkewb extends TwistyObject
     {
     if( mQuats==null ) initializeQuats();
     int status = retCubitSolvedStatus(cubit,numLayers);
-    return status<0 ? null : buildSolvedQuats(MovementSkewb.FACE_AXIS[status],mQuats);
+    return status<0 ? null : buildSolvedQuats(MovementCornerTwisting.FACE_AXIS[status],mQuats);
     }
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////
