add a working add_compoment