 		constructor: (a...) ->
 			a[0] = "OPTGROUP"
 			super a...
-	option: class HTMLOptionElement extends HTMLElement
+	option: class HTMLOptionElement extends HTMLInputElement
 		constructor: (a...) ->
 			a[0] = "OPTION"
 			super a...

Element::__defineGetter__ 'textContent', getInnerText
Element::__defineSetter__ 'innerText', setInnerText
Element::__defineSetter__ 'textContent', setInnerText

class Attr extends Node
	constructor: (name, value) ->

	g.Node = Node
	g.Document = Document
	g.DocumentFragment = DocumentFragment
	g.NodeList = Array # TODO: a real implementation of a (live?) NodeList
	g.Event = Event
	for tagName of ELEMENT_MAP
		c = ELEMENT_MAP[tagName]
		g[c.name] = c
