class Node(object):
  def __init__(self):
    # Node(s) from which this Node receives values
    self.inbound_nodes = inbound_nodes
    # Node(s) to which this Node passes values
    self.outbound_nodes = []
    # For each inbound Node here, add this Node as an outbound to that Node.
    for n in self.inbound_nodes:
      n.outbound_nodes.append(self)

    # A calculated value
    self.value = None

  def forward(self):
    """
    Forward propagation.

    Compute the output value based on `inbound_nodes` and store the result in
    self.value.
    """
    raise NotImplemented

class Node(object):
  def __init__(self):
    # Node(s) from which this Node receives values
    self.inbound_nodes = inbound_nodes
    # Node(s) to which this Node passes values
    self.outbound_nodes = []
    # For each inbound Node here, add this Node as an outbound to that Node.
    for n in self.inbound_nodes:
      n.outbound_nodes.append(self)

    # A calculated value
    self.value = None

--- 
+++ 
@@ -10,3 +10,12 @@
 
     # A calculated value
     self.value = None
+
+  def forward(self):
+    """
+    Forward propagation.
+
+    Compute the output value based on `inbound_nodes` and store the result in
+    self.value.
+    """
+    raise NotImplemented
Add forward function declaration to Class Node
