adding and bubble up works properly
fixing remove function