diff --git a/elftools/construct/lib/container.py b/elftools/construct/lib/container.py
index 4b2f727..326ee57 100644
--- a/elftools/construct/lib/container.py
+++ b/elftools/construct/lib/container.py
@@ -37,6 +37,8 @@
         if name not in d:
             self.__attrs__.append(name)
         d[name] = value
+    def __contains__(self, name):
+        return name in self.__dict__
     def __getitem__(self, name):
         return self.__dict__[name]
     def __delitem__(self, name):
diff --git a/elftools/elf/sections.py b/elftools/elf/sections.py
index d545ec2..b30bd63 100644
--- a/elftools/elf/sections.py
+++ b/elftools/elf/sections.py
@@ -187,4 +187,11 @@
         """
         return self.entry[name]
 
+    def __repr__(self):
+        return '<Relocation (%s): %s>' % (
+                'RELA' if self.is_RELA() else 'REL',
+                self.entry)
+
+    def __str__(self):
+        return self.__repr__()
 
diff --git a/z.py b/z.py
index 2cffb74..9495185 100644
--- a/z.py
+++ b/z.py
@@ -7,6 +7,8 @@
 from elftools.elf.elffile import ELFFile
 from elftools.elf.sections import *
 
+from elftools.dwarf.dwarfrelocationmanager import DWARFRelocationManager
+
 # read a little-endian, 64-bit file
 es = ELFStructs(True, 64)
 
@@ -27,16 +29,10 @@
 print 'CU header', cu.header
 topdie = cu.get_top_DIE()
 
-print topdie
+#print topdie
+dinfo_sec = efile.get_section_by_name('.debug_info')
+relman = DWARFRelocationManager(efile, dinfo_sec.name, dinfo_sec['sh_offset'])
 
-#~ print 'siblings.....'
-
-#~ for s in c.iter_siblings():
-    #~ print s
-
-#~ from elftools.dwarf.location_expr import DW_OP_name2opcode, DW_OP_opcode2name
-
-#~ print hex(DW_OP_name2opcode['DW_OP_lit14'])
-#~ print DW_OP_opcode2name[0x0e]
-
+print relman._reloc_section.name, relman._reloc_section['sh_offset']
+pprint.pprint(relman._relocs)
 
