diff --git a/buildSrc/src/main/kotlin/kotlinx/html/generate/main.kt b/buildSrc/src/main/kotlin/kotlinx/html/generate/main.kt
index ef23d2a3..45d7a050 100644
--- a/buildSrc/src/main/kotlin/kotlinx/html/generate/main.kt
+++ b/buildSrc/src/main/kotlin/kotlinx/html/generate/main.kt
@@ -111,9 +111,7 @@ fun generate(packg: String, todir: String, jsdir: String) {
packg(packg + ".js")
emptyLine()
import("kotlinx.html.*")
- import("kotlinx.html.attributes.*")
- import("kotlinx.html.dom.*")
- import("org.w3c.dom.events.*")
+ import("kotlinx.html.org.w3c.dom.events.Event")
emptyLine()
doNotEditWarning()
diff --git a/src/commonMain/kotlin/Event.kt b/src/commonMain/kotlin/Event.kt
index 6585f7b1..b8a7b3d1 100644
--- a/src/commonMain/kotlin/Event.kt
+++ b/src/commonMain/kotlin/Event.kt
@@ -1,4 +1,4 @@
-package org.w3c.dom.events
+package kotlinx.html.org.w3c.dom.events
expect interface Event {
fun stopPropagation()
diff --git a/src/commonMain/kotlin/api.kt b/src/commonMain/kotlin/api.kt
index 8a91aca0..0119e95e 100644
--- a/src/commonMain/kotlin/api.kt
+++ b/src/commonMain/kotlin/api.kt
@@ -1,6 +1,6 @@
package kotlinx.html
-import org.w3c.dom.events.*
+import kotlinx.html.org.w3c.dom.events.Event
interface TagConsumer {
fun onTagStart(tag: Tag)
diff --git a/src/commonMain/kotlin/delayed-consumer.kt b/src/commonMain/kotlin/delayed-consumer.kt
index 867b146d..dcdb6018 100644
--- a/src/commonMain/kotlin/delayed-consumer.kt
+++ b/src/commonMain/kotlin/delayed-consumer.kt
@@ -1,7 +1,7 @@
package kotlinx.html.consumers
import kotlinx.html.*
-import org.w3c.dom.events.*
+import kotlinx.html.org.w3c.dom.events.Event
class DelayedConsumer(val downstream: TagConsumer) : TagConsumer {
private var delayed: Tag? = null
diff --git a/src/commonMain/kotlin/filter-consumer.kt b/src/commonMain/kotlin/filter-consumer.kt
index dd0a5fb6..83508171 100644
--- a/src/commonMain/kotlin/filter-consumer.kt
+++ b/src/commonMain/kotlin/filter-consumer.kt
@@ -1,7 +1,7 @@
package kotlinx.html.consumers
import kotlinx.html.*
-import org.w3c.dom.events.*
+import kotlinx.html.org.w3c.dom.events.Event
object PredicateResults {
val PASS = PredicateResult.PASS
diff --git a/src/commonMain/kotlin/finalize-consumer.kt b/src/commonMain/kotlin/finalize-consumer.kt
index 9bc8f975..d691f0d6 100644
--- a/src/commonMain/kotlin/finalize-consumer.kt
+++ b/src/commonMain/kotlin/finalize-consumer.kt
@@ -1,7 +1,7 @@
package kotlinx.html.consumers
import kotlinx.html.*
-import org.w3c.dom.events.*
+import kotlinx.html.org.w3c.dom.events.Event
class FinalizeConsumer(val downstream: TagConsumer, val block: (F, Boolean) -> T) : TagConsumer {
private var level = 0
diff --git a/src/commonMain/kotlin/measure-consumer.kt b/src/commonMain/kotlin/measure-consumer.kt
index b80d872e..de6aec56 100644
--- a/src/commonMain/kotlin/measure-consumer.kt
+++ b/src/commonMain/kotlin/measure-consumer.kt
@@ -1,7 +1,7 @@
package kotlinx.html.consumers
import kotlinx.html.*
-import org.w3c.dom.events.*
+import kotlinx.html.org.w3c.dom.events.Event
data class TimedResult(val result: T, val time: Long)
diff --git a/src/commonMain/kotlin/stream.kt b/src/commonMain/kotlin/stream.kt
index 9eb18b19..e116b974 100644
--- a/src/commonMain/kotlin/stream.kt
+++ b/src/commonMain/kotlin/stream.kt
@@ -2,7 +2,7 @@ package kotlinx.html.stream
import kotlinx.html.*
import kotlinx.html.consumers.*
-import org.w3c.dom.events.*
+import kotlinx.html.org.w3c.dom.events.Event
class HTMLStreamBuilder(val out: O, val prettyPrint: Boolean, val xhtmlCompatible: Boolean) :
TagConsumer {
diff --git a/src/jsMain/kotlin/EventJs.kt b/src/jsMain/kotlin/EventJs.kt
index a2e8a5d7..64373616 100644
--- a/src/jsMain/kotlin/EventJs.kt
+++ b/src/jsMain/kotlin/EventJs.kt
@@ -1,6 +1,6 @@
-package org.w3c.dom.events // ktlint-disable filename
+package kotlinx.html.org.w3c.dom.events // ktlint-disable filename
-import org.w3c.dom.*
+import org.w3c.dom.events.EventTarget
public actual external interface Event {
val type: String
diff --git a/src/jsMain/kotlin/dom-js.kt b/src/jsMain/kotlin/dom-js.kt
index 182dfe60..c7157fa0 100644
--- a/src/jsMain/kotlin/dom-js.kt
+++ b/src/jsMain/kotlin/dom-js.kt
@@ -2,8 +2,8 @@ package kotlinx.html.dom
import kotlinx.html.*
import kotlinx.html.consumers.*
+import kotlinx.html.org.w3c.dom.events.Event
import org.w3c.dom.*
-import org.w3c.dom.events.*
private inline fun HTMLElement.setEvent(name: String, noinline callback : (Event) -> Unit) : Unit {
asDynamic()[name] = callback
diff --git a/src/jsMain/kotlin/generated/gen-event-attrs-js.kt b/src/jsMain/kotlin/generated/gen-event-attrs-js.kt
index fc3c4538..a1d7385b 100644
--- a/src/jsMain/kotlin/generated/gen-event-attrs-js.kt
+++ b/src/jsMain/kotlin/generated/gen-event-attrs-js.kt
@@ -1,9 +1,7 @@
package kotlinx.html.js
import kotlinx.html.*
-import kotlinx.html.attributes.*
-import kotlinx.html.dom.*
-import org.w3c.dom.events.*
+import kotlinx.html.org.w3c.dom.events.Event
/*******************************************************************************
DO NOT EDIT
diff --git a/src/jvmMain/kotlin/EventJvm.kt b/src/jvmMain/kotlin/EventJvm.kt
index be5a8429..324190dd 100644
--- a/src/jvmMain/kotlin/EventJvm.kt
+++ b/src/jvmMain/kotlin/EventJvm.kt
@@ -1,4 +1,4 @@
-package org.w3c.dom.events // ktlint-disable filename
+package kotlinx.html.org.w3c.dom.events // ktlint-disable filename
actual interface Event {
actual fun stopPropagation()
diff --git a/src/jvmMain/kotlin/dom-jvm.kt b/src/jvmMain/kotlin/dom-jvm.kt
index 6de00345..96a6b7a0 100644
--- a/src/jvmMain/kotlin/dom-jvm.kt
+++ b/src/jvmMain/kotlin/dom-jvm.kt
@@ -2,8 +2,8 @@ package kotlinx.html.dom
import kotlinx.html.*
import kotlinx.html.consumers.*
+import kotlinx.html.org.w3c.dom.events.Event
import org.w3c.dom.*
-import org.w3c.dom.events.*
import org.xml.sax.*
import java.io.*
import java.util.*
diff --git a/src/nativeMain/kotlin/EventNative.kt b/src/nativeMain/kotlin/EventNative.kt
index 8036c98c..9ab5da8c 100644
--- a/src/nativeMain/kotlin/EventNative.kt
+++ b/src/nativeMain/kotlin/EventNative.kt
@@ -1,4 +1,4 @@
-package org.w3c.dom.events // ktlint-disable filename
+package kotlinx.html.org.w3c.dom.events // ktlint-disable filename
actual interface Event {
actual fun stopPropagation()