added support for custom elements