diff --git a/src/com/syncleus/dann/Neuron.java b/src/com/syncleus/dann/Neuron.java
index 9a7254687aa79079a42534c5755856012f3793bb..4a06442a999b099657c0ee855c1f9bed7d767d79 100644
--- a/src/com/syncleus/dann/Neuron.java
+++ b/src/com/syncleus/dann/Neuron.java
@@ -100,6 +100,14 @@ public interface Neuron<SN extends NeuronImpl, DN extends NeuronImpl> extends Se
      */
     public void disconnectSource(Synapse inSynapse) throws SynapseNotConnectedException;
 
+    /**
+     * Propogates the current output to all outgoing synapses.
+	 *
+     * <!-- Author: Jeffrey Phillips Freeman -->
+     * @since 1.0
+     */
+	public void propagate();
+
 	/**
 	 * Gets all the destination Synapses this neuron's output is connected to.
 	 *
diff --git a/src/com/syncleus/dann/NeuronImpl.java b/src/com/syncleus/dann/NeuronImpl.java
index 63aa30990ea145e602c6b14d0ed361f66a013f64..69754ff620a8c3692543f79675c9c6e92dff7aae 100644
--- a/src/com/syncleus/dann/NeuronImpl.java
+++ b/src/com/syncleus/dann/NeuronImpl.java
@@ -484,5 +484,25 @@ public abstract class NeuronImpl<SN extends NeuronImpl, DN extends NeuronImpl> i
         return this.activationFunction.activateDerivative(this.activity);
     }
 
+	
+    /**
+     * Propogates the current output to all outgoing synapses.
+	 *
+     * <!-- Author: Jeffrey Phillips Freeman -->
+     * @since 1.0
+     */
+    public void propagate()
+    {
+        //calculate the current input activity
+        this.activity = 0;
+        for (Synapse currentSynapse : this.getSources())
+            this.activity += currentSynapse.getOutput();
+        //Add the bias to the activity
+        this.activity += this.biasWeight;
+
+        //calculate the activity function and set the result as the output
+        this.setOutput(this.activate());
+    }
+
     // </editor-fold>
 }
diff --git a/src/com/syncleus/dann/backprop/BackpropNeuron.java b/src/com/syncleus/dann/backprop/BackpropNeuron.java
index bbe7ba94225a68c274dc2e433e0d6152402a9b31..0e760140e7850746f321737c590bc058df0ee089 100644
--- a/src/com/syncleus/dann/backprop/BackpropNeuron.java
+++ b/src/com/syncleus/dann/backprop/BackpropNeuron.java
@@ -226,27 +226,6 @@ public class BackpropNeuron extends NeuronImpl<NeuronImpl, BackpropNeuron>
 
 
 
-    /**
-     * Propogates the current output to all outgoing synapses.
-	 *
-     * <!-- Author: Jeffrey Phillips Freeman -->
-     * @since 1.0
-     */
-    public void propagate()
-    {
-        //calculate the current input activity
-        this.activity = 0;
-        for (Synapse currentSynapse : this.getSources())
-            this.activity += currentSynapse.getOutput();
-        //Add the bias to the activity
-        this.activity += this.biasWeight;
-
-        //calculate the activity function and set the result as the output
-        this.setOutput(this.activate());
-    }
-
-
-
 	/**
 	 * Gets the current delta train of the neuron.
 	 *