add component wip