new working version of component.