diff --git a/lib/namespace.rb b/lib/namespace.rb
index <HASH>..<HASH> 100644
--- a/lib/namespace.rb
+++ b/lib/namespace.rb
@@ -64,6 +64,14 @@ module Atomy
       nil
     end
 
+    def top_down(&blk)
+      yield @name
+      @using.each do |u|
+        Atomy::Namespace.get(u).top_down(&blk)
+      end
+      nil
+    end
+
     def self.define_target
       Thread.current[:atomy_define_in] ||
         get && get.name.to_s
add Namespace#top_down, which recursively yields the names of the namespaces it
uses (depth-first)