added customElement utility