add binary search tree. Sevetal Todos are left.