add/remove components. doesn't support a list of components yet