update; bst now allocs less memory overall and properly with shared_ptrs