implement remove for bst; add dfs