diff --git a/iron-overlay-behavior/iron-focusables-helper.html b/iron-overlay-behavior/iron-focusables-helper.html
deleted file mode 100644
index 40dff6b..0000000
--- a/iron-overlay-behavior/iron-focusables-helper.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<script crossorigin type="module" src="./iron-focusables-helper_bridge.js"></script>
-
diff --git a/iron-overlay-behavior/iron-focusables-helper_bridge.js b/iron-overlay-behavior/iron-focusables-helper_bridge.js
deleted file mode 100644
index ad4c2e0..0000000
--- a/iron-overlay-behavior/iron-focusables-helper_bridge.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
-@license
-Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-*/
-
-/**
- * @fileoverview This file is a backwards-compatibility shim. Before Polymer
- *     converted to ES Modules, it wrote its API out onto the global Polymer
- *     object. The *_bridge.js files (like this one) maintain compatibility
- *     with that API.
- */
-
-import '../polymer/lib/utils/boot_bridge.js';
-import {IronFocusablesHelper} from '@polymer/iron-overlay-behavior/iron-focusables-helper.js';
-
-/** @const */
-Polymer.IronFocusablesHelper = IronFocusablesHelper;
-
-goog.declareModuleId('HtmlImportsNamespace.IronOverlayBehavior.IronFocusablesHelper');
-
diff --git a/iron-overlay-behavior/iron-overlay-backdrop.html b/iron-overlay-behavior/iron-overlay-backdrop.html
deleted file mode 100644
index b7d0814..0000000
--- a/iron-overlay-behavior/iron-overlay-backdrop.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<script crossorigin type="module" src="./iron-overlay-backdrop_bridge.js"></script>
-
diff --git a/iron-overlay-behavior/iron-overlay-backdrop_bridge.js b/iron-overlay-behavior/iron-overlay-backdrop_bridge.js
deleted file mode 100644
index 705b6ae..0000000
--- a/iron-overlay-behavior/iron-overlay-backdrop_bridge.js
+++ /dev/null
@@ -1,22 +0,0 @@
-/**
-@license
-Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-*/
-
-/**
- * @fileoverview This file is a backwards-compatibility shim. Before Polymer
- *     converted to ES Modules, it wrote its API out onto the global Polymer
- *     object. The *_bridge.js files (like this one) maintain compatibility
- *     with that API.
- */
-
-import '../polymer/lib/utils/boot_bridge.js';
-import '@polymer/iron-overlay-behavior/iron-overlay-backdrop.js';
-
-goog.declareModuleId('HtmlImportsNamespace.IronOverlayBehavior.IronOverlayBackdrop');
-
diff --git a/iron-overlay-behavior/iron-overlay-behavior.html b/iron-overlay-behavior/iron-overlay-behavior.html
deleted file mode 100644
index f01552f..0000000
--- a/iron-overlay-behavior/iron-overlay-behavior.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<script crossorigin type="module" src="./iron-overlay-behavior_bridge.js"></script>
-
diff --git a/iron-overlay-behavior/iron-overlay-behavior_bridge.js b/iron-overlay-behavior/iron-overlay-behavior_bridge.js
deleted file mode 100644
index 9877e7f..0000000
--- a/iron-overlay-behavior/iron-overlay-behavior_bridge.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/**
-@license
-Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-*/
-
-/**
- * @fileoverview This file is a backwards-compatibility shim. Before Polymer
- *     converted to ES Modules, it wrote its API out onto the global Polymer
- *     object. The *_bridge.js files (like this one) maintain compatibility
- *     with that API.
- */
-
-import '../polymer/lib/utils/boot_bridge.js';
-import {IronOverlayBehavior, IronOverlayBehaviorImpl} from '@polymer/iron-overlay-behavior/iron-overlay-behavior.js';
-
-/** @const */
-Polymer.IronOverlayBehaviorImpl = IronOverlayBehaviorImpl;
-/** @const */
-Polymer.IronOverlayBehavior = IronOverlayBehavior;
-
-goog.declareModuleId('HtmlImportsNamespace.IronOverlayBehavior.IronOverlayBehavior');
diff --git a/iron-overlay-behavior/iron-overlay-manager.html b/iron-overlay-behavior/iron-overlay-manager.html
deleted file mode 100644
index 4bff313..0000000
--- a/iron-overlay-behavior/iron-overlay-manager.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<script crossorigin type="module" src="./iron-overlay-manager_bridge.js"></script>
-
diff --git a/iron-overlay-behavior/iron-overlay-manager_bridge.js b/iron-overlay-behavior/iron-overlay-manager_bridge.js
deleted file mode 100644
index f836145..0000000
--- a/iron-overlay-behavior/iron-overlay-manager_bridge.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/**
-@license
-Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-*/
-
-/**
- * @fileoverview This file is a backwards-compatibility shim. Before Polymer
- *     converted to ES Modules, it wrote its API out onto the global Polymer
- *     object. The *_bridge.js files (like this one) maintain compatibility
- *     with that API.
- */
-
-import '../polymer/lib/utils/boot_bridge.js';
-import {IronOverlayManager, IronOverlayManagerClass} from '@polymer/iron-overlay-behavior/iron-overlay-manager.js';
-
-/** @const */
-Polymer.IronOverlayManager = IronOverlayManager;
-
-/** @const */
-Polymer.IronOverlayManagerClass = IronOverlayManagerClass;
-
-goog.declareModuleId('HtmlImportsNamespace.IronOverlayBehavior.IronOverlayManager');
-
diff --git a/iron-overlay-behavior/iron-scroll-manager.html b/iron-overlay-behavior/iron-scroll-manager.html
deleted file mode 100644
index d363157..0000000
--- a/iron-overlay-behavior/iron-scroll-manager.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<!--
-@license
-Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
--->
-
-<script crossorigin type="module" src="./iron-scroll-manager_bridge.js"></script>
-
diff --git a/iron-overlay-behavior/iron-scroll-manager_bridge.js b/iron-overlay-behavior/iron-scroll-manager_bridge.js
deleted file mode 100644
index 8d4e4bd..0000000
--- a/iron-overlay-behavior/iron-scroll-manager_bridge.js
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
-@license
-Copyright (c) 2018 The Polymer Project Authors. All rights reserved.
-This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-Code distributed by Google as part of the polymer project is also
-subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-*/
-
-/**
- * @fileoverview This file is a backwards-compatibility shim. Before Polymer
- *     converted to ES Modules, it wrote its API out onto the global Polymer
- *     object. The *_bridge.js files (like this one) maintain compatibility
- *     with that API.
- */
-
-import '../polymer/lib/utils/boot_bridge.js';
-import {elementIsScrollLocked, pushScrollLock, removeScrollLock, _lockingElements, _lockedElementCache, _unlockedElementCache, _hasCachedLockedElement, _hasCachedUnlockedElement, _composedTreeContains, _scrollInteractionHandler, _boundScrollHandler, _lockScrollInteractions, _unlockScrollInteractions, _shouldPreventScrolling, _getScrollableNodes, _getScrollingNode, _getScrollInfo} from '@polymer/iron-overlay-behavior/iron-scroll-manager.js';
-
-Polymer.IronScrollManager = {};
-
-/** @const */
-Polymer.IronScrollManager.elementIsScrollLocked = elementIsScrollLocked;
-
-/** @const */
-Polymer.IronScrollManager.pushScrollLock = pushScrollLock;
-
-/** @const */
-Polymer.IronScrollManager.removeScrollLock = removeScrollLock;
-
-/** @const */
-Polymer.IronScrollManager._lockingElements = _lockingElements;
-
-/** @const */
-Polymer.IronScrollManager._lockedElementCache = _lockedElementCache;
-
-/** @const */
-Polymer.IronScrollManager._unlockedElementCache = _unlockedElementCache;
-
-/** @const */
-Polymer.IronScrollManager._hasCachedLockedElement = _hasCachedLockedElement;
-
-/** @const */
-Polymer.IronScrollManager._hasCachedUnlockedElement = _hasCachedUnlockedElement;
-
-/** @const */
-Polymer.IronScrollManager._composedTreeContains = _composedTreeContains;
-
-/** @const */
-Polymer.IronScrollManager._scrollInteractionHandler = _scrollInteractionHandler;
-
-/** @const */
-Polymer.IronScrollManager._boundScrollHandler = _boundScrollHandler;
-
-/** @const */
-Polymer.IronScrollManager._lockScrollInteractions = _lockScrollInteractions;
-
-/** @const */
-Polymer.IronScrollManager._unlockScrollInteractions = _unlockScrollInteractions;
-
-/** @const */
-Polymer.IronScrollManager._shouldPreventScrolling = _shouldPreventScrolling;
-
-/** @const */
-Polymer.IronScrollManager._getScrollableNodes = _getScrollableNodes;
-
-/** @const */
-Polymer.IronScrollManager._getScrollingNode = _getScrollingNode;
-
-/** @const */
-Polymer.IronScrollManager._getScrollInfo = _getScrollInfo;
-
-goog.declareModuleId('HtmlImportsNamespace.IronOverlayBehavior.IronScrollManager');
-
