week 4 - BST implementation