added support for custom elements and namespaces

resolves #31