remove is cleaner, will get to BST later