Basic implementation of BST, to be improved