tidy up export items calculations
diff --git a/reclass/defaults.py b/reclass/defaults.py
index 24801ef..d3ac29d 100644
--- a/reclass/defaults.py
+++ b/reclass/defaults.py
@@ -38,4 +38,3 @@
 MERGE_ALLOW_DICT_OVER_SCALAR = False
 
 AUTOMATIC_RECLASS_PARAMETERS = True
-AUTOMATIC_EXPORT_PARAMETERS = True
diff --git a/reclass/values/expitem.py b/reclass/values/expitem.py
index 22a473b..252ba38 100644
--- a/reclass/values/expitem.py
+++ b/reclass/values/expitem.py
@@ -9,44 +9,32 @@
 from item import Item
 from reclass.utils.dictpath import DictPath
 from reclass.errors import UndefinedVariableError
-from reclass.defaults import AUTOMATIC_EXPORT_PARAMETERS
 
 class ExpItem(Item):
 
-    def __init__(self, items, delimiter):
+    def __init__(self, item, delimiter):
         self._delimiter = delimiter
-        self._items = items
+        self._expr = item.render(None, None)
 
     def contents(self):
-        return self._items
+        return self._expr
 
     def has_exports(self):
         return True
 
-    def _resolve(self, path, key, dictionary):
+    def _resolve(self, path, dictionary):
         try:
             return path.get_value(dictionary)
         except KeyError as e:
-            raise UndefinedVariableError(key)
-
-    def _key(self):
-        if len(self._items) == 1:
-            return self._items[0].contents()
-        string = ''
-        for item in self._items:
-            string += item.contents()
-        return string
+            raise UndefinedVariableError(str(path))
 
     def render(self, context, exports):
         result = []
-        exp_key = self._key()
-        exp_path = DictPath(self._delimiter, exp_key)
+        exp_path = DictPath(self._delimiter, self._expr)
         exp_path.drop_first()
         for node, items in exports.iteritems():
             if exp_path.exists_in(items):
-                value = copy.deepcopy(self._resolve(exp_path, exp_key, items))
-                if isinstance(value, dict) and AUTOMATIC_EXPORT_PARAMETERS:
-                    value['_node_'] = node
+                value = { node: copy.deepcopy(self._resolve(exp_path, items)) }
                 result.append(value)
         return result
 
diff --git a/reclass/values/value.py b/reclass/values/value.py
index 275ab7f..39e55c1 100644
--- a/reclass/values/value.py
+++ b/reclass/values/value.py
@@ -138,7 +138,10 @@
         items = []
         for token in tokens:
             items.append(ScaItem(token[1]))
-        return ExpItem(items, self._delimiter)
+        if len(items) == 1:
+            return ExpItem(items[0], self._delimiter)
+        else:
+            return ExpItem(CompItem(items), self_delimiter)
 
     def _createItems(self, tokens):
         items = []