Custom implementation of a Binary Search Tree