public void makeNextMove(MazeMap mazeMap) {
        //double start;
        //double stop;

        // Scan area and update Traversal Map
        //start = System.nanoTime();
        setTraversalMap(curLocX, curLocY, mazeMap);
        //stop = System.nanoTime();
        //System.out.format("Scan: \t\t%f ns\n", stop-start);

        // Update Potential Map
        //start = System.nanoTime();
        potential.updatePotential(curLocX, curLocY, traversal);
        //stop = System.nanoTime();
        //System.out.format("Update Potential: \t%f ns\n", stop-start);

        // Decide where to go/make a turn
        //start = System.nanoTime();
        nxtDirec = chooseTurnHandler();
        //stop = System.nanoTime();
        //System.out.format("Choose direction: \t%f ns\n", stop-start);

        // If current was dead end, plug it
        //start = System.nanoTime();
        traversal.plugDeadEnd(curLocX, curLocY, curDirec);
        //stop = System.nanoTime();
        //System.out.format("Plug Dead End: \t%f ns\n", stop-start);

        // Update coordinates
        //start = System.nanoTime();
        updateCoordinates();
        //stop = System.nanoTime();
        //System.out.format("Update coordinates: \t%f ns\n", stop-start);
        if (potential.getPotential(curLocX, curLocY) == 0) {
            homing = true;
        }
        if (homing && curLocX == 0 && curLocY == MicromouseRun.GOAL) {
            trenchRun = true;
        }
        System.out.println();
    }