diff --git a/pom.xml b/pom.xml
index 526a752ce2196b3b77f37ab1b2ae72391e8ec519..789b3e1d5fc867a09ca573cdba224d194e461237 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,6 @@
     </parent>
     <packaging>jar</packaging>
 
-    <groupId>com.syncleus.dann</groupId>
     <artifactId>dann-examples</artifactId>
     <name>dANN Example Projects</name>
     <description>Artificial Intelligence and Artificial Genetics library - Example Projects</description>
diff --git a/src/main/java/com/syncleus/dann/examples/colormap/AboutDialog.java b/src/main/java/com/syncleus/dann/examples/colormap/AboutDialog.java
index d30c8ce0da99ef17a5feada8cc766e1cfbf6e598..e180c3fe8d9cd1f596cc9039c4b4b800b4289c82 100644
--- a/src/main/java/com/syncleus/dann/examples/colormap/AboutDialog.java
+++ b/src/main/java/com/syncleus/dann/examples/colormap/AboutDialog.java
@@ -22,6 +22,7 @@ import javax.swing.*;
 import java.awt.*;
 
 public class AboutDialog extends JDialog {
+    private static final long serialVersionUID = 8338474261992018024L;
     // Variables declaration - do not modify//GEN-BEGIN:variables
     private javax.swing.JButton jButton1;
     private javax.swing.JLabel jLabel1;
diff --git a/src/main/java/com/syncleus/dann/examples/colormap/ColorMap1dCallable.java b/src/main/java/com/syncleus/dann/examples/colormap/ColorMap1dCallable.java
index 43fe136d7c2d16d2bc4ec8743818943bb05dd873..94ccb0b6732ff5727c9e7bd00fef26a1cbe14096 100644
--- a/src/main/java/com/syncleus/dann/examples/colormap/ColorMap1dCallable.java
+++ b/src/main/java/com/syncleus/dann/examples/colormap/ColorMap1dCallable.java
@@ -33,9 +33,9 @@ public final class ColorMap1dCallable implements Callable<Color[]> {
     static final int COLOR_CHANNELS = 3;
     private static final Random RANDOM = new Random();
     private static final Logger LOGGER = Logger.getLogger(ColorMap1dCallable.class);
-    private volatile int iterations;
-    private volatile double learningRate;
-    private volatile int width;
+    private final int iterations;
+    private final double learningRate;
+    private final int width;
     private volatile int progress;
 
     public ColorMap1dCallable(final int iterations, final double learningRate, final int width) {
diff --git a/src/main/java/com/syncleus/dann/examples/colormap/ColorMap2dCallable.java b/src/main/java/com/syncleus/dann/examples/colormap/ColorMap2dCallable.java
index 5c51b1618c41a67890853b70d49b547956ca2f26..bd59af51edf156d36fd058eb1bbfb2fc6ebf84e7 100644
--- a/src/main/java/com/syncleus/dann/examples/colormap/ColorMap2dCallable.java
+++ b/src/main/java/com/syncleus/dann/examples/colormap/ColorMap2dCallable.java
@@ -32,10 +32,10 @@ import java.util.concurrent.Callable;
 public class ColorMap2dCallable implements Callable<Color[][]> {
     private static final Random RANDOM = new Random();
     private static final Logger LOGGER = Logger.getLogger(ColorMap2dCallable.class);
-    private volatile int iterations;
-    private volatile double learningRate;
-    private volatile int width;
-    private volatile int height;
+    private final int iterations;
+    private final double learningRate;
+    private final int width;
+    private final int height;
     private volatile int progress;
 
     public ColorMap2dCallable(final int iterations, final double learningRate, final int width, final int height) {
diff --git a/src/main/java/com/syncleus/dann/examples/colormap/ColorMapDemo.java b/src/main/java/com/syncleus/dann/examples/colormap/ColorMapDemo.java
index b0199dd9a581b4f24065fb4b1a5d332779dd3990..2e50173a0562973bffb16313288c6635a01d509f 100644
--- a/src/main/java/com/syncleus/dann/examples/colormap/ColorMapDemo.java
+++ b/src/main/java/com/syncleus/dann/examples/colormap/ColorMapDemo.java
@@ -28,6 +28,7 @@ import java.util.concurrent.*;
 public class ColorMapDemo extends JFrame implements ActionListener {
     private static final Logger LOGGER = Logger.getLogger(ColorMapDemo.class);
     private static final int INITIAL_ITERATIONS = 200;
+    private static final long serialVersionUID = -409985159806625127L;
     private final SpinnerNumberModel iterationsModel = new SpinnerNumberModel(INITIAL_ITERATIONS, 1, 10000, 100);
     private static final double INITIAL_LEARNING_RATE = 0.5;
     private final SpinnerNumberModel learningRateModel = new SpinnerNumberModel(INITIAL_LEARNING_RATE, Double.MIN_VALUE, 1.0, 0.01);
diff --git a/src/main/java/com/syncleus/dann/examples/fft/FftDemo.java b/src/main/java/com/syncleus/dann/examples/fft/FftDemo.java
index 36026ebbdc810e3959b5e1b7f2de467fc3ba153c..3183670154cd67a9cfec92c5792292fc6785ca19 100644
--- a/src/main/java/com/syncleus/dann/examples/fft/FftDemo.java
+++ b/src/main/java/com/syncleus/dann/examples/fft/FftDemo.java
@@ -38,6 +38,7 @@ public class FftDemo extends JFrame implements ActionListener {
     private static final int AUDIO_CHANNELS = 1;
     private static final boolean AUDIO_SIGNED = true;
     private static final boolean AUDIO_BIG_ENDIAN = false;
+    private static final long serialVersionUID = -4300149787884073809L;
 
     private final AudioFormat audioFormat;
     private final TargetDataLine targetDataLine;
diff --git a/src/main/java/com/syncleus/dann/examples/hyperassociativemap/visualization/SimpleGraph.java b/src/main/java/com/syncleus/dann/examples/hyperassociativemap/visualization/SimpleGraph.java
index c5618c0627135a46eb9822ae1eaa029b78eadc76..e2bc62e0016ea11f098e5600b51b1300ae621d1f 100644
--- a/src/main/java/com/syncleus/dann/examples/hyperassociativemap/visualization/SimpleGraph.java
+++ b/src/main/java/com/syncleus/dann/examples/hyperassociativemap/visualization/SimpleGraph.java
@@ -23,6 +23,7 @@ import com.syncleus.dann.graph.*;
 import java.util.*;
 
 public class SimpleGraph extends AbstractBidirectedAdjacencyGraph<SimpleNode, BidirectedEdge<SimpleNode>> {
+    private static final long serialVersionUID = -6742895620113778827L;
     private final SimpleNode[][] nodes;
     private final Set<SimpleNode> nodeSet = new HashSet<SimpleNode>();
     private final Set<BidirectedEdge<SimpleNode>> edges = new HashSet<BidirectedEdge<SimpleNode>>();
diff --git a/src/main/java/com/syncleus/dann/examples/hyperassociativemap/visualization/ViewMap.java b/src/main/java/com/syncleus/dann/examples/hyperassociativemap/visualization/ViewMap.java
index fd497962196a8ab330805440a14b2ef04b32f106..7589ce8c49cccf7655a9b1cfde2406b39b84d2f8 100644
--- a/src/main/java/com/syncleus/dann/examples/hyperassociativemap/visualization/ViewMap.java
+++ b/src/main/java/com/syncleus/dann/examples/hyperassociativemap/visualization/ViewMap.java
@@ -27,6 +27,7 @@ import java.util.concurrent.*;
 
 public class ViewMap extends JFrame implements ActionListener {
     private static final float NODE_RADIUS = 0.07F;
+    private static final long serialVersionUID = -1535635297304488816L;
     private final HyperassociativeMapCanvas mapVisual;
     private final LayeredHyperassociativeMap associativeMap;
     private final ExecutorService executor;
diff --git a/src/main/java/com/syncleus/dann/examples/nci/BusyException.java b/src/main/java/com/syncleus/dann/examples/nci/BusyException.java
index ae24c47176bc76451c75d4d7552f48be6c137618..e81387d1065485b881318ddc5aa0b1181748e3ed 100644
--- a/src/main/java/com/syncleus/dann/examples/nci/BusyException.java
+++ b/src/main/java/com/syncleus/dann/examples/nci/BusyException.java
@@ -19,6 +19,8 @@
 package com.syncleus.dann.examples.nci;
 
 public class BusyException extends Exception {
+    private static final long serialVersionUID = 2200665153337057806L;
+
     public BusyException() {
         super();
     }
diff --git a/src/main/java/com/syncleus/dann/examples/nci/CompressionNeuron.java b/src/main/java/com/syncleus/dann/examples/nci/CompressionNeuron.java
index cb89eb2b0f84c9df9fe62395c7731b1e2792b3c9..0fd52eed3265cb0bb79671c92e78caea04d34a29 100644
--- a/src/main/java/com/syncleus/dann/examples/nci/CompressionNeuron.java
+++ b/src/main/java/com/syncleus/dann/examples/nci/CompressionNeuron.java
@@ -27,6 +27,7 @@ import com.syncleus.dann.neural.backprop.AbstractBackpropNeuron;
  * @since 1.0
  */
 public final class CompressionNeuron extends AbstractBackpropNeuron {
+    private static final long serialVersionUID = -5018203208680400351L;
     /**
      * @since 1.0
      */
diff --git a/src/main/java/com/syncleus/dann/examples/nci/NciBrain.java b/src/main/java/com/syncleus/dann/examples/nci/NciBrain.java
index eaa56d91f416244c2e6880fc6e182a4e3814dbd1..9723f316828bd00095ca5536b2d1744d2071fa21 100644
--- a/src/main/java/com/syncleus/dann/examples/nci/NciBrain.java
+++ b/src/main/java/com/syncleus/dann/examples/nci/NciBrain.java
@@ -33,6 +33,7 @@ import java.util.*;
 public class NciBrain extends AbstractFullyConnectedFeedforwardBrain<InputBackpropNeuron, OutputBackpropNeuron, BackpropNeuron, Synapse<BackpropNeuron>> {
     private static final int CHANNELS = 3;
     private static final double DEFAULT_LEARNING_RATE = 0.001;
+    private static final long serialVersionUID = 3093536064207726943L;
     private final double actualCompression;
     private final int xSize;
     private final int ySize;
diff --git a/src/main/java/com/syncleus/dann/examples/nci/ui/AboutDialog.java b/src/main/java/com/syncleus/dann/examples/nci/ui/AboutDialog.java
index f84bf264f2daee2c10780858c68868c386e4a87f..a30cb808199362afe5b2738673402cf7f38ea429 100644
--- a/src/main/java/com/syncleus/dann/examples/nci/ui/AboutDialog.java
+++ b/src/main/java/com/syncleus/dann/examples/nci/ui/AboutDialog.java
@@ -22,6 +22,7 @@ import javax.swing.*;
 import java.awt.*;
 
 public class AboutDialog extends JDialog {
+    private static final long serialVersionUID = -6553318215372637286L;
     // Variables declaration - do not modify//GEN-BEGIN:variables
     private javax.swing.JButton jButton1;
     private javax.swing.JLabel jLabel1;
diff --git a/src/main/java/com/syncleus/dann/examples/nci/ui/ImagePanel.java b/src/main/java/com/syncleus/dann/examples/nci/ui/ImagePanel.java
index 73d28822e7a4411e06dc5893f7a071741484bdea..f5d891eb771f02619650c8a2b9b0c970539313dc 100644
--- a/src/main/java/com/syncleus/dann/examples/nci/ui/ImagePanel.java
+++ b/src/main/java/com/syncleus/dann/examples/nci/ui/ImagePanel.java
@@ -21,6 +21,7 @@ package com.syncleus.dann.examples.nci.ui;
 import java.awt.*;
 
 public class ImagePanel extends javax.swing.JPanel {
+    private static final long serialVersionUID = 5368818198268917973L;
     private Image image = null;
 
     public ImagePanel() {
diff --git a/src/main/java/com/syncleus/dann/examples/nci/ui/NciDemo.java b/src/main/java/com/syncleus/dann/examples/nci/ui/NciDemo.java
index be4190397cd705429aae3a47792143cc8faa1df6..b720dc75cdb69748b454b89a4f39cb13c29172b8 100644
--- a/src/main/java/com/syncleus/dann/examples/nci/ui/NciDemo.java
+++ b/src/main/java/com/syncleus/dann/examples/nci/ui/NciDemo.java
@@ -35,6 +35,7 @@ public class NciDemo extends JFrame implements ActionListener, BrainListener {
     private static final Logger LOGGER = Logger.getLogger(NciDemo.class);
     private static final int BLOCK_WIDTH = 7;
     private static final int BLOCK_HEIGHT = 7;
+    private static final long serialVersionUID = -5660092209366455673L;
     private final ImagePanel originalImagePanel = new ImagePanel();
     private final ImagePanel finalImagePanel = new ImagePanel();
     private BrainRunner brainRunner;
diff --git a/src/main/java/com/syncleus/dann/examples/nci/ui/ViewBrain.java b/src/main/java/com/syncleus/dann/examples/nci/ui/ViewBrain.java
index ae20fc9e891bd0f6afa0112367b48b46fa7122f9..2f5850568b97694c376693e95b2356f1e1454b00 100644
--- a/src/main/java/com/syncleus/dann/examples/nci/ui/ViewBrain.java
+++ b/src/main/java/com/syncleus/dann/examples/nci/ui/ViewBrain.java
@@ -26,6 +26,7 @@ import java.awt.event.*;
 import java.util.concurrent.*;
 
 public class ViewBrain extends JDialog implements ActionListener, KeyListener {
+    private static final long serialVersionUID = -6075084734645970735L;
     private final HyperassociativeMapCanvas brainVisual;
     private final ExecutorService executor = Executors.newFixedThreadPool(1);
     private FutureTask<Void> lastRun;
diff --git a/src/main/java/com/syncleus/dann/examples/pathfind/AbstractGridCanvas.java b/src/main/java/com/syncleus/dann/examples/pathfind/AbstractGridCanvas.java
index 7efc4dde851cb74e356ac44d5988d2690c259459..797cc73faa5469b348db57542b63879c2b8ce31f 100644
--- a/src/main/java/com/syncleus/dann/examples/pathfind/AbstractGridCanvas.java
+++ b/src/main/java/com/syncleus/dann/examples/pathfind/AbstractGridCanvas.java
@@ -44,6 +44,7 @@ public abstract class AbstractGridCanvas extends JPanel implements MouseListener
      */
     private static final int BORDER_FRACTION = 4;
     private static final Color PATH_COLOR = new Color(0.5f, 0f, 0f);
+    private static final long serialVersionUID = -4678014646197441067L;
     private final WeightedGrid grid;
     private final int nodeSize;
     private final int edgeSize;
@@ -103,7 +104,7 @@ public abstract class AbstractGridCanvas extends JPanel implements MouseListener
                     graphics2D.setColor(this.getEdgeColor(upEdge));
                     graphics2D.fillRect(px + this.edgeSize, py, this.nodeSize, this.edgeSize);
 
-                    if ((this.touchedEdge != null) && (this.touchedEdge.getRightNode() == gridNode) && (this.touchedEdge.getLeftNode() == toNode)) {
+                    if ((this.touchedEdge != null) && (this.touchedEdge.getRightNode().equals(gridNode)) && (this.touchedEdge.getLeftNode().equals(toNode))) {
                         //draw border of selected edge
                         graphics2D.setStroke(new BasicStroke(this.selectedThickness));
                         graphics2D.setColor(/*getTouchedNodeBorderColor()*/Color.ORANGE);
@@ -119,7 +120,7 @@ public abstract class AbstractGridCanvas extends JPanel implements MouseListener
                     graphics2D.setColor(this.getEdgeColor(rightEdge));
                     graphics2D.fillRect(px, py + this.edgeSize, this.edgeSize, this.nodeSize);
 
-                    if ((this.touchedEdge != null) && (this.touchedEdge.getRightNode() == gridNode) && (this.touchedEdge.getLeftNode() == toNode)) {
+                    if ((this.touchedEdge != null) && (this.touchedEdge.getRightNode().equals(gridNode)) && (this.touchedEdge.getLeftNode().equals(toNode))) {
                         //draw border of selected edge
                         graphics2D.setStroke(new BasicStroke(this.selectedThickness));
                         graphics2D.setColor(/*getTouchedNodeBorderColor()*/Color.ORANGE);
@@ -130,7 +131,7 @@ public abstract class AbstractGridCanvas extends JPanel implements MouseListener
                 graphics2D.setColor(this.getNodeColor(gridNode));
                 graphics2D.fillRect(px + this.edgeSize, py + this.edgeSize, this.nodeSize, this.nodeSize);
 
-                if (gridNode == this.touchedNode) {
+                if (gridNode.equals(this.touchedNode)) {
                     graphics2D.setStroke(new BasicStroke(this.selectedThickness));
                     graphics2D.setColor(/*getTouchedNodeBorderColor()*/Color.ORANGE);
                     graphics2D.drawRect(px + this.edgeSize, py + this.edgeSize, this.nodeSize, this.nodeSize);
@@ -225,7 +226,7 @@ public abstract class AbstractGridCanvas extends JPanel implements MouseListener
             return null;
         }
 
-        final boolean upOrLeft = (px - nx * (this.nodeSize + this.edgeSize) > py - ny * (this.nodeSize + this.edgeSize)) ? true : false;
+        final boolean upOrLeft = (px - nx * (this.nodeSize + this.edgeSize) > py - ny * (this.nodeSize + this.edgeSize));
 
         if ((nx >= (upOrLeft ? 0 : 1)) && (ny >= (!upOrLeft ? 0 : 1))
                     && (nx < this.grid.getWidth()) && (ny < this.grid.getHeight())) {
diff --git a/src/main/java/com/syncleus/dann/examples/pathfind/GridNode.java b/src/main/java/com/syncleus/dann/examples/pathfind/GridNode.java
index 926afde92d3e787486dbf4e6632293409f842bd6..ab6de62f1f9a1f848bc9df770ee41e9f08d18707 100644
--- a/src/main/java/com/syncleus/dann/examples/pathfind/GridNode.java
+++ b/src/main/java/com/syncleus/dann/examples/pathfind/GridNode.java
@@ -22,6 +22,7 @@ import com.syncleus.dann.graph.Weighted;
 import com.syncleus.dann.math.Vector;
 
 public class GridNode extends Vector implements Weighted {
+    private static final long serialVersionUID = -596450707283749461L;
     private double weight;
 
     public GridNode(final int x, final int y, final double weight) {
diff --git a/src/main/java/com/syncleus/dann/examples/pathfind/PathFindDemoPanel.java b/src/main/java/com/syncleus/dann/examples/pathfind/PathFindDemoPanel.java
index 64d4be4d7603693f444caa2419cec27505538fcc..b2af0ccc7993b94935fa648c375ff35d15739889 100644
--- a/src/main/java/com/syncleus/dann/examples/pathfind/PathFindDemoPanel.java
+++ b/src/main/java/com/syncleus/dann/examples/pathfind/PathFindDemoPanel.java
@@ -46,6 +46,7 @@ public class PathFindDemoPanel extends JPanel {
     private static final int DEFAULT_GRID_SIZE = 18;
     private static final double MIN_GRID_WEIGHT = 1.0;
     private static final double INITIAL_GRID_WEIGHT = MIN_GRID_WEIGHT;
+    private static final long serialVersionUID = 7903553630603410869L;
     private AbstractGridCanvas gridCanvas;
     private WeightedGrid grid;
     private PathFindControlPanel controlPanel;
@@ -152,6 +153,7 @@ public class PathFindDemoPanel extends JPanel {
         this.add(this.controlPanel, BorderLayout.NORTH);
 
         this.gridCanvas = new AbstractGridCanvas(PathFindDemoPanel.this.grid, PathFindDemoPanel.this.path, DEFAULT_NODE_SIZE, DEFAULT_EDGE_SIZE) {
+            private static final long serialVersionUID = -3695773443229570354L;
             private boolean mouseDown = false;
 
             @Override
@@ -212,7 +214,7 @@ public class PathFindDemoPanel extends JPanel {
 
                 //starting position
                 if ((selectedIndex == 1) && (touchedNode != null)) {
-                    if (this.getTouchedNode() != PathFindDemoPanel.this.endNode) {
+                    if (!this.getTouchedNode().equals(PathFindDemoPanel.this.endNode)) {
                         PathFindDemoPanel.this.startNode = touchedNode;
                         PathFindDemoPanel.this.updatePath();
                     }
@@ -221,7 +223,7 @@ public class PathFindDemoPanel extends JPanel {
                     }
                 } //ending position
                 else if ((selectedIndex == 2) && (touchedNode != null)) {
-                    if (touchedNode != PathFindDemoPanel.this.startNode) {
+                    if (!touchedNode.equals(PathFindDemoPanel.this.startNode)) {
                         PathFindDemoPanel.this.endNode = touchedNode;
                         PathFindDemoPanel.this.updatePath();
                     }
@@ -293,6 +295,7 @@ public class PathFindDemoPanel extends JPanel {
 
     private static class PaintButton extends JToggleButton {
         private static final int BUTTON_BORDER_SIZE = 4;
+        private static final long serialVersionUID = 2430145596483094131L;
         private final double weight;
 
         public PaintButton(final double drawWeight) {
@@ -320,6 +323,7 @@ public class PathFindDemoPanel extends JPanel {
      * A panel that provides buttons for each of the drawable "weights".
      */
     private static class DrawingPanel extends JPanel {
+        private static final long serialVersionUID = -9123184793276080345L;
         private final List<PaintButton> paintButtons = new LinkedList();
         private final ButtonGroup paintButtonsGroup = new ButtonGroup();
 
@@ -342,6 +346,8 @@ public class PathFindDemoPanel extends JPanel {
     }
 
     private static class PathFindControlPanel extends JTabbedPane {
+        private static final long serialVersionUID = 3392698058428473502L;
+
         public PathFindControlPanel(final PathFindDemoPanel pathFindDemoPanel) {
             this.addTab("Edit", new DrawingPanel(PAINT_WEIGHTS, pathFindDemoPanel));
             this.addTab("Start Position", new JLabel("Click a start position"));
diff --git a/src/main/java/com/syncleus/dann/examples/pathfind/WeightedGrid.java b/src/main/java/com/syncleus/dann/examples/pathfind/WeightedGrid.java
index 6700f31ce3f80fb296f8da11056e7be305d9e5c4..ef1e4da602bdbf9455081d8f55042c4b64e7a516 100644
--- a/src/main/java/com/syncleus/dann/examples/pathfind/WeightedGrid.java
+++ b/src/main/java/com/syncleus/dann/examples/pathfind/WeightedGrid.java
@@ -29,6 +29,7 @@ import java.util.*;
  * @author seh
  */
 public class WeightedGrid extends AbstractBidirectedAdjacencyGraph<GridNode, SimpleWeightedUndirectedEdge<GridNode>> {
+    private static final long serialVersionUID = -5666614285453171551L;
     private final GridNode[][] nodes;
     private final Set<GridNode> nodeSet = new HashSet<GridNode>();
     private final Set<SimpleWeightedUndirectedEdge<GridNode>> edges = new HashSet<SimpleWeightedUndirectedEdge<GridNode>>();
diff --git a/src/main/java/com/syncleus/dann/examples/test/Test3d.java b/src/main/java/com/syncleus/dann/examples/test/Test3d.java
index 57fff19e64bf4ae0431b9c9cd0179e1bf2d6d538..c2f44991b0d5cc7f200c1aa2a43af27009650f29 100644
--- a/src/main/java/com/syncleus/dann/examples/test/Test3d.java
+++ b/src/main/java/com/syncleus/dann/examples/test/Test3d.java
@@ -26,6 +26,7 @@ import javax.media.j3d.Canvas3D;
 import javax.swing.*;
 
 public class Test3d extends JFrame {
+    private static final long serialVersionUID = 2293654966316459293L;
     private JPanel drawingPanel;
 
     public Test3d() {
diff --git a/src/main/java/com/syncleus/dann/examples/tsp/TravellingSalesmanChromosome.java b/src/main/java/com/syncleus/dann/examples/tsp/TravellingSalesmanChromosome.java
index 9357ca7110033f0e5a686451ee23e004f93c0196..8e8aaa944fcc585d1a71a10b126eff9e0d18b4e6 100644
--- a/src/main/java/com/syncleus/dann/examples/tsp/TravellingSalesmanChromosome.java
+++ b/src/main/java/com/syncleus/dann/examples/tsp/TravellingSalesmanChromosome.java
@@ -38,7 +38,7 @@ public class TravellingSalesmanChromosome extends GeneticAlgorithmChromosome {
         final AbstractValueGene cityGene = this.getGenes().get(cityIndex);
         int cityOrder = 0;
         for (AbstractValueGene sortedGene : sortedGenes) {
-            if (sortedGene == cityGene)
+            if (sortedGene.equals(cityGene))
                 return cityOrder;
 
             cityOrder++;
diff --git a/src/main/java/com/syncleus/dann/examples/tsp/TravellingSalesmanDemo.java b/src/main/java/com/syncleus/dann/examples/tsp/TravellingSalesmanDemo.java
index 1db47aefc511cbc417f61ea6b1df8bd1331e7dce..a55528bb5a9985084663b0caac62e7a67404fddd 100644
--- a/src/main/java/com/syncleus/dann/examples/tsp/TravellingSalesmanDemo.java
+++ b/src/main/java/com/syncleus/dann/examples/tsp/TravellingSalesmanDemo.java
@@ -35,6 +35,7 @@ public class TravellingSalesmanDemo extends JFrame implements ActionListener {
     private static final int MAP_Y = 130;
     private static final int MAP_WIDTH = 635;
     private static final int MAP_HEIGHT = 500;
+    private static final long serialVersionUID = -8431779227939122588L;
     private final SpinnerNumberModel citiesModel = new SpinnerNumberModel(10, 1, 100, 1);
     private final SpinnerNumberModel mutabilityModel = new SpinnerNumberModel(1.0, Double.MIN_VALUE, 10000, 0.1);
     private final SpinnerNumberModel populationModel = new SpinnerNumberModel(100, 4, 1000, 10);
diff --git a/src/main/java/com/syncleus/dann/examples/xor/XorDemo.java b/src/main/java/com/syncleus/dann/examples/xor/XorDemo.java
index 26831d69228428002bb3b13f34d775e13a01f422..3645b11d6ec1e9529ca1b00360b4e5800e8b13a6 100644
--- a/src/main/java/com/syncleus/dann/examples/xor/XorDemo.java
+++ b/src/main/java/com/syncleus/dann/examples/xor/XorDemo.java
@@ -43,7 +43,7 @@ public final class XorDemo {
     private static final long KEEP_ALIVE_TIME = 20;
     private static final int INPUTS = 3;
     private static BufferedReader inReader = null;
-    private static InputBackpropNeuron[] input = null;
+    private static final InputBackpropNeuron[] input = null;
     private static OutputBackpropNeuron output = null;
     private static FullyConnectedFeedforwardBrain brain;
     private static String saveLocation = "default.dann";