     @_error = e if e?
     @_error?.message || @_error || null
 
+  __levels: {}
+
   css: (cssString = '', o = null, levelBefore = null, selectorBefore = '') ->
 
     objectToCSS = (o) ->

      if level isnt levelBefore
        levelBefore = level
        selectorBefore = selectorString
    cssString



      selector = selectorString = section[0]
      level    = Math.floor section[1].length / 2
      values   = objectToCSS(section[2])

      if level >= levelBefore
        if selectorString[0] is '&'
          # we have a reference here, merge together
          #console.log '__', selectorBefore
          parts = for s in selectorString.substring(1).split(',')
            s = ' '+s
            insideParts = for _s in selectorBefore.trim().split(',')
              _s.trim()+s.replace(/\s([^a-zA-Z])/g,'$1').replace(/\s([a-zA-Z]+.+)/g,' $1') if _s?.trim()
            insideParts.join(', ').replace(/\,\s$/,'')
            #s = selectorBefore.trim()+s.replace(/\s([^a-zA-Z])/g,'$1').replace(/\s([a-zA-Z]+.+)/g,' $1') if s?.trim()
          selectorString = parts.join(', ').replace(/\,\s$/,'')
        else
          selectorString = selectorBefore + " " + selectorString
