   getNode: (node, path) =>
     return node if path is '.'
     @paths node, path
-    sysmo.getDeepValue node, path
+    sysmo.getDeepValue node, path, true
     
   # track the first property in a path for each node through object tree
   paths: (node, path) =>

    # convert array to chooser function that compares key names
    if !@config.choose
      @config.choose = []
      for key, value of @config.as
        @config.choose.push value.split('.')[0] if sysmo.isString(value)
    # create callback for arry
    if sysmo.isArray @config.choose
      for element in @config.choose
        return true if sysmo.isNumber(key) or element is key
      return false
    # if not a function yet, treat as boolean value
    if !sysmo.isFunction @config.choose

    
    context = {}
    # loop through properties to pick up any key/values that should be nested
    for key, value of node when @isProcessable node, value, key
      nested_value = @chooseValue @getNode(node, key), {}
      formatted = @nestNodes node, nested_value, key
      context[formatted.key] = formatted.value if formatted.value?
    context
    
  nestNodes: (node, value, key) =>
