diff --git a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/AproxSymmetryPlane.java b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/ApproxSymmetryPlane.java
similarity index 61%
rename from Comparison/src/main/java/cz/fidentis/analyst/symmetry/AproxSymmetryPlane.java
rename to Comparison/src/main/java/cz/fidentis/analyst/symmetry/ApproxSymmetryPlane.java
index 6ddae7b0d4dcbd1e3e1bdfefb2495105dc732ed2..4ed9303a805ced8ca6dd089b3c274efcc794b285 100644
--- a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/AproxSymmetryPlane.java
+++ b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/ApproxSymmetryPlane.java
@@ -1,31 +1,33 @@
 package cz.fidentis.analyst.symmetry;
 
 /**
- *
- * @author Natália Bebjaková
  * 
  * Respresents plane with added atribute - votes, that play role
  * in decision about symmetry estimate of the 3D model
+ *
+ * @author Natalia Bebjakova
+ * 
  */
-public class AproxSymmetryPlane extends Plane implements Comparable<AproxSymmetryPlane> {
-    public Integer votes;
+public class ApproxSymmetryPlane extends Plane implements Comparable<ApproxSymmetryPlane> {
+    public int votes;
 
     /**
      * returns number of votes that were given to plane while computing the symmetry 
      * 
      * @return Number of votes 
      */
-    public Integer getVotes() {
+    public int getVotes() {
         return votes;
     }
 
     /**
-     * 
+     * Constructor.
      * @param plane Original plane without votes 
      * @param votes number of votes given to the plane
+     * @throws IllegalArgumentExpcption if the @code{plane} argument is null
      */
-    public AproxSymmetryPlane(Plane plane, int votes) {
-        super(plane.a, plane.b, plane.c, plane.d);
+    public ApproxSymmetryPlane(Plane plane, int votes) {
+        super(plane);
         this.votes = votes;
     }
     
@@ -36,7 +38,7 @@ public class AproxSymmetryPlane extends Plane implements Comparable<AproxSymmetr
      * @return number that decides which plane has more votes 
      */
     @Override
-    public int compareTo(AproxSymmetryPlane other) {
-        return this.votes.compareTo(other.votes);
+    public int compareTo(ApproxSymmetryPlane other) {
+        return Integer.compare(votes, other.votes);
     }
 }
diff --git a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/Plane.java b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/Plane.java
index 4c099e46e72d463823337bcdf66de84d8fd6eb1b..c1f5484a390542d1834524340e8a5e336d1ea72a 100644
--- a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/Plane.java
+++ b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/Plane.java
@@ -27,6 +27,21 @@ public class Plane {
         this.d = d;
     }
     
+    /**
+     * Copy constructor.
+     * @param plane original plane
+     * @throws IllegalArgumentExpcption if the @code{plane} argument is null
+     */
+    public Plane(Plane plane) {
+        if (plane == null) {
+            throw new IllegalArgumentException();
+        }
+        a = plane.a;
+        b = plane.b;
+        c = plane.c;
+        d = plane.d;
+    }
+    
     /**
      * Normalize the plane
      */
diff --git a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/SymmetryEstimator.java b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/SymmetryEstimator.java
index d10271643e108cbc5e4e94bdba4adc9ea9e428df..36d2faf796691e7bdb8e06ccfe28c4e57c03215f 100644
--- a/Comparison/src/main/java/cz/fidentis/analyst/symmetry/SymmetryEstimator.java
+++ b/Comparison/src/main/java/cz/fidentis/analyst/symmetry/SymmetryEstimator.java
@@ -122,7 +122,7 @@ public class SymmetryEstimator {
         
         UIManager.put("ProgressMonitor.progressText", "Counting symmetry...");
  
-        ArrayList<AproxSymmetryPlane> planes = new ArrayList<>();
+        ArrayList<ApproxSymmetryPlane> planes = new ArrayList<>();
         //List<Vector3d> normals = calculateNormals();
         if (!facet.hasVertexNormals()) {
             facet.calculateVertexNormals();
@@ -209,7 +209,7 @@ public class SymmetryEstimator {
                                 config.getMinNormAngleCos(), 
                                 boundingBox.getMaxDiag() * config.getMaxRelDistance());
 
-                            planes.add(new AproxSymmetryPlane(newPlane, currentVotes));
+                            planes.add(new ApproxSymmetryPlane(newPlane, currentVotes));
                             
                             if (currentVotes > lastVotes) {
                                 lastVotes = currentVotes;
@@ -225,7 +225,7 @@ public class SymmetryEstimator {
         }
         
         Collections.sort(planes);
-        ArrayList<AproxSymmetryPlane> finalPlanes = new ArrayList<>();
+        ArrayList<ApproxSymmetryPlane> finalPlanes = new ArrayList<>();
         for (int i = 0; i < planes.size(); i++) {
             if (planes.get(i).votes == lastVotes){
                 finalPlanes.add(planes.get(i));