diff --git a/src/python/of10/action_list.py b/src/python/of10/action_list.py
index c2ab07e..2c5a906 100644
--- a/src/python/of10/action_list.py
+++ b/src/python/of10/action_list.py
@@ -143,19 +143,12 @@
             length += act.__len__()
         return length
 
+    def __iter__(self):
+        return self.actions.__iter__()
+
     def __eq__(self, other):
         if type(self) != type(other): return False
         if self.actions != other.actions: return False
         return True
 
     def __ne__(self, other): return not self.__eq__(other)
-        
-    def show(self, prefix=''):
-        outstr = prefix + "Action List with " + str(len(self.actions)) + \
-            " actions\n"
-        count = 0
-        for obj in self.actions:
-            count += 1
-            outstr += prefix + "  Action " + str(count) + ": \n"
-            outstr += obj.show(prefix + '    ')
-        return outstr
diff --git a/src/python/of10/message.py b/src/python/of10/message.py
index bf0064e..4f5a43f 100644
--- a/src/python/of10/message.py
+++ b/src/python/of10/message.py
@@ -968,7 +968,8 @@
         outstr += self.header.show(prefix + '  ')
         outstr += ofp_flow_mod.show(self, prefix)
         outstr += prefix + "List actions\n"
-        outstr += self.actions.show(prefix + '  ')
+        for obj in self.actions:
+            outstr += obj.show(prefix + "  ")
         return outstr
 
     def __eq__(self, other):
@@ -1646,7 +1647,8 @@
         outstr += self.header.show(prefix + '  ')
         outstr += ofp_packet_out.show(self, prefix)
         outstr += prefix + "List actions\n"
-        outstr += self.actions.show(prefix + '  ')
+        for obj in self.actions:
+            outstr += obj.show(prefix + "  ")
         outstr += prefix + 'data is of length ' + str(len(self.data)) + '\n'
         ##@todo Fix this circular reference
         # if len(self.data) > 0:
@@ -2666,7 +2668,9 @@
     def show(self, prefix=''):
         outstr = prefix + "flow_stats_entry\n"
         outstr += ofp_flow_stats.show(self, prefix + '  ')
-        outstr += self.actions.show(prefix + '  ')
+        outstr += prefix + "List actions\n"
+        for obj in self.actions:
+            outstr += obj.show(prefix + '  ')
         return outstr
 
     def __eq__(self, other):
