implement add and remove for subviews