added concise BST and several functions