diff --git a/lib/nydp.rb b/lib/nydp.rb
index <HASH>..<HASH> 100644
--- a/lib/nydp.rb
+++ b/lib/nydp.rb
@@ -2,6 +2,8 @@ require 'date'
 require 'set'
 
 module Nydp
+  class Namespace < Hash
+  end
   def self.apply_function ns, function_name, *args
     function = r2n(function_name.to_sym, ns).value
     args     = r2n args, ns
diff --git a/lib/nydp/plugin.rb b/lib/nydp/plugin.rb
index <HASH>..<HASH> 100644
--- a/lib/nydp/plugin.rb
+++ b/lib/nydp/plugin.rb
@@ -21,7 +21,7 @@ module Nydp
   end
 
   def self.build_nydp extra_files=nil, &block
-    ns = { }
+    ns = Namespace.new
     setup(ns)
     PLUGINS.each { |plg|
       loadall ns, plg, plg.loadfiles, &block
vm: use Namespace class instead of plain hash, so plugins can decorate with useful features