+ partial BST implementation