WORKING BST with pointers