diff --git a/bin/cdist b/bin/cdist
index 8d5e9342..ad8add02 100755
--- a/bin/cdist
+++ b/bin/cdist
@@ -608,6 +608,7 @@ def emulator():
    type = os.path.basename(sys.argv[0])
    type_dir = os.path.join(os.environ['__cdist_type_base_dir'], type)
    param_dir = os.path.join(type_dir, "parameter")
+   global_dir = os.environ['__global']
 
    parser = argparse.ArgumentParser(add_help=False)
 
@@ -625,23 +626,34 @@ def emulator():
 
    if not os.path.isfile(os.path.join(type_dir, "singleton")):
       parser.add_argument("object_id", nargs=1)
-   else:
-      print("singleton")
 
    # And finally verify parameter
    args = parser.parse_args(sys.argv[1:])
 
-   object_id = args.object_id
+   # Setup object_id
+   if os.path.isfile(os.path.join(type_dir, "singleton")):
+      object_id = "singleton"
+   else:
+      object_id = args.object_id
+      del args.object_id
 
-   del args.object_id
    print(args)
 
+   print(object_id)
+   param_out_dir = os.path.join(global_dir, type,
+                     object_id, DOT_CDIST, "parameter")
+
    # Record parameter
    params = vars(args)
    for param in params:
       value = getattr(args, param)
       if value:
-         print("Writing " + param + " = " + value)
+         file = os.path.join(param_out_dir, param)
+         print(file + "<-" + param + " = " + value)
+         param_fd = open(file)
+         param_fd.writelines(value)
+         param_fd.close()
+
 
 
    # Record requirements
diff --git a/doc/dev/todo/niconext b/doc/dev/todo/niconext
index bd30c08d..a74862f4 100644
--- a/doc/dev/todo/niconext
+++ b/doc/dev/todo/niconext
@@ -24,6 +24,7 @@
       - what about type explorer?
          - do not run, create empty output (types should be able
             to handle this!)
+            via __global/
 
 - Support parallel execution
    - and maximum number of parallel runs (-p X)