 
     parent ?= el.parentNode
     attributes.parent = parent
-#    console.log 'parent', tagname, attributes, parent
+    # console.log 'parent', tagname, attributes, parent
 
     children = (child for child in el.childNodes when child.nodeType == 1)
 
     parent = new lz[tagname](el, attributes)
 
     for child in children
-#      console.log 'creating child', child, parent
-  #    console.dir(child)
+      # console.log 'creating child', child.localName, child, parent
+      # console.dir(child)
       if tagname is 'class'
         child.$defer = true
       else


    attributes = {}
    for i in el.attributes
  #        console.log 'attribute', i.name, i.value
      attributes[i.name] = i.value

    # swallow builtin attributes

      body = el.innerHTML
      # clear to prevent events from firing, e.g. onclick
      el.innerHTML = ''
      # console.log('new class', name, classattributes)
      console.warn 'class exists, overwriting', name if name of lz
      lz[name] = (instanceel, instanceattributes) ->
        attributes = {}
        for key, value of classattributes
          attributes[key] = instanceattributes[key] ? value
        for key, value of instanceattributes
          # console.log 'overriding class attribute', key, value
          attributes[key] = value
        # console.log 'creating class instance', name, attributes
        parent = new lz[ext](instanceel, attributes)
        # console.log 'created instance', name, parent

        viewel = parent.sprite?.jqel?[0]
        return if not viewel
