added support for components