Binary Tree implementation.