almost done bst non mut