diff --git a/src/main/java/azgracompress/kdtree/KDNode.java b/src/main/java/azgracompress/kdtree/KDNode.java
index 8d8081f2e4de31dab3f9f0042ac92eec25a3701b..026ca066e96cbc94001f6ebb87e20eeff562b7d2 100644
--- a/src/main/java/azgracompress/kdtree/KDNode.java
+++ b/src/main/java/azgracompress/kdtree/KDNode.java
@@ -42,63 +42,6 @@ public class KDNode {
         return false;
     }
 
-    public void findNearestNeighbor(final int[] queryRecord, final KDTree.SearchInfo searchInfo) {
-
-
-
-
-        if (searchInfo.stopSearching())
-            return;
-
-        if (isTerminal()) {
-            ((TerminalKDNode) this).findNearestNeighborInBucket(queryRecord, searchInfo);
-
-            if (ballWithinBounds(queryRecord, searchInfo)) {
-                searchInfo.setContinueSearching(false);
-            }
-            return;
-        }
-
-        assert (loSon != null && hiSon != null);
-        if (queryRecord[discriminator] <= partition) {
-            double tmp = searchInfo.getUpperBounds()[discriminator];
-            searchInfo.getUpperBounds()[discriminator] = partition;
-            loSon.findNearestNeighbor(queryRecord, searchInfo);
-            searchInfo.getUpperBounds()[discriminator] = tmp;
-
-        } else {
-            double tmp = searchInfo.getLowerBounds()[discriminator];
-            searchInfo.getLowerBounds()[discriminator] = partition;
-            hiSon.findNearestNeighbor(queryRecord, searchInfo);
-            searchInfo.getLowerBounds()[discriminator] = tmp;
-        }
-        if (searchInfo.stopSearching())
-            return;
-
-
-        if (queryRecord[discriminator] <= partition) {
-            double tmp = searchInfo.getLowerBounds()[discriminator];
-            searchInfo.getLowerBounds()[discriminator] = partition;
-            if (boundsOverlapBall(queryRecord, searchInfo)) {
-                hiSon.findNearestNeighbor(queryRecord, searchInfo);
-            }
-            searchInfo.getLowerBounds()[discriminator] = tmp;
-        } else {
-            double tmp = searchInfo.getUpperBounds()[discriminator];
-            searchInfo.getUpperBounds()[discriminator] = partition;
-            if (boundsOverlapBall(queryRecord, searchInfo)) {
-                loSon.findNearestNeighbor(queryRecord, searchInfo);
-            }
-            searchInfo.getUpperBounds()[discriminator] = tmp;
-        }
-        if (searchInfo.stopSearching())
-            return;
-
-        if (ballWithinBounds(queryRecord, searchInfo)) {
-            searchInfo.setContinueSearching(false);
-        }
-    }
-
     private static double coordinateDistance(final double x, final double y) {
         return Math.pow((x - y), 2);
     }
@@ -107,33 +50,4 @@ public class KDNode {
         return Math.sqrt(value);
     }
 
-    private boolean ballWithinBounds(final int[] queryRecord, final KDTree.SearchInfo searchInfo) {
-        double lbDist, ubDist;
-        for (int d = 0; d < searchInfo.getDimension(); d++) {
-            lbDist = coordinateDistance(searchInfo.getLowerBounds()[d], queryRecord[d]);
-            ubDist = coordinateDistance(searchInfo.getUpperBounds()[d], queryRecord[d]);
-            if ((lbDist <= searchInfo.getNearestRecordDistance()) || (ubDist <= searchInfo.getNearestRecordDistance())) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    private boolean boundsOverlapBall(final int[] queryRecord, final KDTree.SearchInfo searchInfo) {
-        double sum = 0.0;
-        for (int d = 0; d < searchInfo.getDimension(); d++) {
-            if (queryRecord[d] < searchInfo.getLowerBounds()[d]) {
-                sum += coordinateDistance(queryRecord[d], searchInfo.getLowerBounds()[d]);
-                if (dissimilarity(sum) > searchInfo.getNearestRecordDistance()) {
-                    return true;
-                }
-            } else if (queryRecord[d] > searchInfo.getUpperBounds()[d]) {
-                sum += coordinateDistance(queryRecord[d], searchInfo.getUpperBounds()[d]);
-                if (dissimilarity(sum) > searchInfo.getNearestRecordDistance()) {
-                    return true;
-                }
-            }
-        }
-        return false;
-    }
 }
diff --git a/src/main/java/azgracompress/kdtree/KDTree.java b/src/main/java/azgracompress/kdtree/KDTree.java
index 1bb50c158be44d259e4a7024d427e1dc5e34f791..d45b0b8152e713005ea854bd36d51f818aa13f45 100644
--- a/src/main/java/azgracompress/kdtree/KDTree.java
+++ b/src/main/java/azgracompress/kdtree/KDTree.java
@@ -2,7 +2,6 @@ package azgracompress.kdtree;
 
 import org.jetbrains.annotations.NotNull;
 
-import java.util.Arrays;
 import java.util.PriorityQueue;
 
 // TODO(Moravec):   One more time read the paper and check the implementation!
@@ -43,41 +42,6 @@ public class KDTree {
         }
     }
 
-    public static class SearchInfo extends BBFSearchInfo {
-        private boolean continueSearching = true;
-        private final double[] coordinateUpperBound;
-        private final double[] coordinateLowerBound;
-        private final int dimension;
-
-        public SearchInfo(final int dimension) {
-            this.dimension = dimension;
-            coordinateUpperBound = new double[dimension];
-            coordinateLowerBound = new double[dimension];
-            Arrays.fill(coordinateLowerBound, Double.NEGATIVE_INFINITY);
-            Arrays.fill(coordinateUpperBound, Double.POSITIVE_INFINITY);
-        }
-
-        public int getDimension() {
-            return dimension;
-        }
-
-        public double[] getUpperBounds() {
-            return coordinateUpperBound;
-        }
-
-        public double[] getLowerBounds() {
-            return coordinateLowerBound;
-        }
-
-        public boolean stopSearching() {
-            return !continueSearching;
-        }
-
-        public void setContinueSearching(boolean continueSearching) {
-            this.continueSearching = continueSearching;
-        }
-    }
-
     private static class NodeWithDistance implements Comparable<NodeWithDistance> {
         private final KDNode node;
         private final double distance;
@@ -113,12 +77,6 @@ public class KDTree {
         this.terminalNodeCount = terminalNodeCount;
     }
 
-    public int[] findNearestNeighbor(final int[] queryRecord) {
-        SearchInfo searchInfo = new SearchInfo(dimension);
-        root.findNearestNeighbor(queryRecord, searchInfo);
-        return searchInfo.getNearestRecord();
-    }
-
     public int[] findNearestBBF(final int[] queryVector, final int maxE) {
 
         PriorityQueue<NodeWithDistance> priorityQueue = new PriorityQueue<>();
@@ -137,14 +95,14 @@ public class KDTree {
                 partition = current.getNode().getPartition();
                 if (queryVector[discriminator] < partition) {
                     priorityQueue.add(new NodeWithDistance(current.getNode().getLoSon(),
-                            0.0));
+                                                           0.0));
                     priorityQueue.add(new NodeWithDistance(current.getNode().getHiSon(),
-                            (double) partition - (double) queryVector[discriminator]));
+                                                           (double) partition - (double) queryVector[discriminator]));
                 } else {
                     priorityQueue.add(new NodeWithDistance(current.getNode().getHiSon(),
-                            0.0));
+                                                           0.0));
                     priorityQueue.add(new NodeWithDistance(current.getNode().getLoSon(),
-                            (double) queryVector[discriminator] - (double) partition));
+                                                           (double) queryVector[discriminator] - (double) partition));
                 }
             }
         }
diff --git a/src/main/java/azgracompress/kdtree/KDTreeBuilder.java b/src/main/java/azgracompress/kdtree/KDTreeBuilder.java
index fd53e542f7614e1ad4bac87dd14764220ae1c350..0f36c859c82b933eb9d864f8ad608cc2dc010388 100644
--- a/src/main/java/azgracompress/kdtree/KDTreeBuilder.java
+++ b/src/main/java/azgracompress/kdtree/KDTreeBuilder.java
@@ -116,7 +116,6 @@ public class KDTreeBuilder {
     public KDNode makeTerminalNode(final int[][] featureVectors) {
         ++nodeCount;
         ++terminalNodeCount;
-        System.out.printf("Terminal node bucket size: %d\n", featureVectors.length);
         return new TerminalKDNode(featureVectors);
     }