added the ability to remove a node (with children)