Generalyze BST